2017-05-19 10 views
2

3 노드 독커 집단 모드 클러스터 (관리자 1 명과 작업자 2 명)가 있습니다.Docker Swarm : 영구 데이터 (예 : 데이터베이스)를 처리하는 방법

이제 mongodb 서비스를 클러스터에 배포하려고합니다. 데이터베이스를 /mnt/data 아래에 마운트 한 영구 저장소에 저장하고 싶습니다. 그래서 기본적으로 각 컨테이너 내의 마운트 된 스토리지를 서비스에서 사용하기를 원합니다. /db/data.

어떻게해야합니까?

나는 내가이 volume 또는 bind-mount를 사용하는 경우는 확실하지 않다 docker service create --mount하지만

  • 자신에 익숙했다? 내가 volume을 선택하면
  • 어떻게 내가 해당 노드와 시작에 label 추가 (스토리지가 장착) 특정 노드에 부부에 /mnt/data

에 MongoDB의 서비스를이 볼륨을 저장하는 고정 표시기를 알 수 있습니다 도커 서비스는 제약이있다.

답변

2

볼륨을 mongodb 데이터로 바인드 마운트해야합니다.

  1. 고정 표시기 볼륨 -d 로컬 --name의 mongodata 생성 마스터 서버
  2. 고정 표시기 서비스 생성 --network 몽고 --mount TYPE = 볼륨 소스 = mongodata 대상 \ =/데이터를 아래 단계를 수행/DB \ --constraint 'node.role == 매니저'\ 몽고 : 3.2

당신은 또한 HA 모드에서 실행중인 DB를 가지고 떼에 MongoDB의 클러스터를 설정 볼 수 있습니다. 아래 링크를 클릭하십시오. https://medium.com/@kalahari/running-a-mongodb-replica-set-on-docker-1-12-swarm-mode-step-by-step-a5f3ba07d06e