티스토리 뷰

활동/교육과정 중 기록

200102 Docker, MongoDB

Stolen Moments 2020. 1. 2. 11:44

Docker, MongoDB





Docker MongoDB 컨테이너를 3개 생성하고


1개를 마스터, 2개를 슬레이브로 레플리카셋을 구성하자.




- 컨테이너 ip 확인


docker inspect container_id


- 컨테이너 안에서 ping 하고 싶다면?


https://stackoverflow.com/questions/39901311/docker-ubuntu-bash-ping-command-not-found




1. 컨테이너 실행


docker run --name mongodb_server1 -d -p 16010:27017 mongo --replSet myapp

docker run --name mongodb_server2 -d -p 26010:27017 mongo --replSet myapp

docker run --name mongodb_server3 -d -p 26010:27017 mongo --replSet myapp




2. Master 설정


mongodb_server1 에 접속해 rs.inititate()


rs.add("mongodb_server2의 ip:27017")

rs.add("mongodb_server2의 ip:27017")


rs.isMaster() 확인





3. 설정값 변경


host ip가 컨테이너 ID로 되어있는 경우에는 설정 변경 필요.



cfg = rs.config() // cfg 변수 선언


cfg.members[0].host = "mongodb_server1의 ip:27017" // cfg의 설정값 변경


rs.reconfig(cfg) // cfg 가지고 재설정





4. Slave 확인


show dbs => 오류 메시지 출력


rs.slaveOk()


다시 show dbs 확인.





docker-compose.yml 예제


version: "3"
services:
    mongo1:
        image: mongo
        ports:
            - "16010:27017"
        volumes:
            - $HOME/mongoRepl/mongo1:/data/db
        networks:
            - mongo-networks
        command: mongod --replSet myapp

    mongo2:
        image: mongo
        ports:
            - "26010:27017"
        volumes:
            - $HOME/mongoRepl/mongo2:/data/db
        networks:
            - mongo-networks
        command: mongod --replSet myapp
        depends_on: 
            - mongo1

    mongo3:
        image: mongo
        ports:
            - "36010:27017"
        volumes:
            - $HOME/mongoRepl/mongo3:/data/db
        networks:
            - mongo-networks
        command: mongod --replSet myapp
        depends_on: 
            - mongo2
        

networks:
    mongo-networks:
        driver: bridge


반응형

'활동 > 교육과정 중 기록' 카테고리의 다른 글

Docker에서 MySQL Replication 세팅  (0) 2020.01.04
200103 Docker Swarm  (0) 2020.01.03
191230 Docker  (0) 2019.12.30
191226 데이터베이스  (0) 2019.12.26
191223 데이터베이스  (0) 2019.12.23
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함