수색…


도버 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