Skip to content
SuphremeChicken edited this page Nov 12, 2019 · 8 revisions

mongo db 접속 방법 및 도커를 활용한 설치 과정

참고한 (거의 복붙) 블로그

1. 접속 방법

    mongo -u root —host 106.10.58.138:2020 -p
  • 데이터 베이스 목록
    • 개발용
      • LJH_dev, LJH_test
      • MJM_dev, MJM_test
      • SCHH_dev, SCHH_test
    • 배포용
      • CRAFOLIO

2. 도커를 활용한 설치 과정

2.1 도커 설치

  • 도커 설치
curl -fsSL https://get.docker.com/ | sudo sh
  • 도커 컴포즈 설치
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 실행 권한 부여
sudo chmod +x /usr/local/bin/docker-compose

2.2 몽고디비 이미지 설치

docker pull mongo:latest

2.3 init용 js 및 yml파일 작성

  • docker-compose.yml
version: '3'
services:
  database:
    image: 'mongo'
    container_name: 'mongo-container'
    environment:
        - MONGO_INITDB_DATABASE=mongo1        ## init 용 js가 활용할 database 이름 (init.js안에서 createdatabase가 있을 수 없기 때문)
        - MONGO_INITDB_ROOT_USERNAME=root     ## root 계정
        - MONGO_INITDB_ROOT_PASSWORD=password ## root 패스워드
    volumes:
        - ./init-mongo.js:/docker-entry-initdb.d/init-mongo.js:ro  ##  (밖)->(컨테이너 안) ./init.js -> /docker .... :ro 읽기 전용으로 복사
        - ./mongo-volume:/data/db  ##  컨테이너 외부의 디렉터리(./mongo-volume) mongodb와 연동
    ports:
        - '2020-2022:27017-27019'  ##  외부 포트를 컨테이너 내부 포트(27017-27019)와 연결 
    command:
        - --auth  ##  !!!! 중요 옵션, 몽고 디비는 기본 옵션이 사용자 검증 없이 접속이 되므로 이 옵션을 꼭 할 것 
  • init.js
// use admin 여기서 안됨 
// - > MONGO_INITDB_DATABASE 값을 admin으로 주어야 함 (docker-compose.yml) ( 어쨋건 안되서.. ㅠㅠ 그냥 쉘로 접속해서 계정 만듬 )
db.createUser([{
   user: "JMJ",
   pwd: "password",
   roles: ["root"]
}])

2.3 실행

  • 실행
docker-compose up -d
// background로 실행 
  • 로그인
docker exec -it <container-name> bash

1. 그라운드 룰

2. 스크럼 hackmd link

3. 변경 내역

4. 스프린트

5. 기술공유

6. 팀 회고록

Clone this wiki locally