Docker
도버 1.12에 군림하는 영장
수색…
도버 1.12 떼에서 영사를 운영하십시오.
이것은 Docker 1.12에서 새 군집 모드를 사용하는 docker swarm에서 군집 모드로 영사를 수행하기위한 공식 영사 독창 이미지에 의존합니다. 이 예제는 http://qnib.org/2016/08/11/consul-service/을 기반으로합니다. 간단히 말하자면 두 사람이 서로 이야기하는 떼주기 서비스를 이용하는 것입니다. 이렇게하면 개별 영사 컨테이너의 ips를 앞에서 알 수없고 docker swarm의 dns에 의존 할 수 있다는 문제가 해결됩니다.
여기에는 적어도 세 개의 노드가있는 실행중인 도커 1.12 집단 클러스터가 있다고 가정합니다.
docker 데몬에 로그 드라이버를 구성하여 현재 상황을 볼 수 있습니다. 나는 이것을 위해 syslog 드라이버를 사용했다 : dockerd에 --log-driver=syslog
옵션을 설정한다.
먼저 영사를위한 오버레이 네트워크를 만듭니다.
docker network create consul-net -d overlay
이제 단 하나의 노드로 클러스터를 부트 스트랩합니다 (기본값 --replicas는 1입니다).
docker service create --name consul-seed \
-p 8301:8300 \
--network consul-net \
-e 'CONSUL_BIND_INTERFACE=eth0' \
consul agent -server -bootstrap-expect=3 -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300
이제 1 노드 클러스터가 있어야합니다. 이제 두 번째 서비스를 시작하십시오.
docker service create --name consul-cluster \
-p 8300:8300 \
--network consul-net \
--replicas 3 \
-e 'CONSUL_BIND_INTERFACE=eth0' \
consul agent -server -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300
이제 네 개의 노드 영사 클러스터가 있어야합니다. Docker 컨테이너에서 실행하여이를 확인할 수 있습니다.
docker exec <containerid> consul members
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow