2016-06-08 2 views
5

Docker swarm 클러스터를 만들려면 다음 단계를 따르십시오.Docker Swarm Manager가 스웜 노드를 인식하지 못합니다

  1. -d 버추얼 MH-스토어
    $의 평가 "$ (고정 표시기 기계 ENV의 MH-스토어)"를 만들 Cunsol에게
    $ 고정 표시기 기계를 만들
    $는 -d \
    -p를 실행 고정 표시기 "8500 : 8500"-bootstrap

  2. 가 떼 관리자에게
    $ 고정 표시기를 만들 -server \
    -h "영사"\
    progrium/영사 - 머신 생성 -d 가상 박스 노드 1
    $ docker run -d -p 4000 : 4000 swarm 관리 -H : 4000 - 복제 - $ (docker-machine ip node1) 광고 : 4000 consul : // $ (docker-machine 의 IP MH-스토어) : 2,375 영사 : 8500

  3. 만들 떼 노드
    $ 고정 표시기 기계 -d 버추얼 노드 2
    $에 가입 --advertise = $ (고정 표시기 기계의 IP 노드 2) 실행 -d 떼를 고정 표시기를 만들 : // $ (고정 표시기 기계의 IP MH-스토어) : 8500

  4. 로그인 노드 1
    $ 고정 표시기 기계 ssh를 노드 1
    $ 고정 표시기의 -H : 4000 정보

그러나이 명령 출력 나는이 문제를 어떻게 해결할 수

(unknown): 192.168.99.106:2375(node2 ip)
└ ID:
└ Status: Pending
└ Containers: 0
└ Reserved CPUs: 0/0
└ Reserved Memory: 0 B/0 B
└ Labels:
└ Error: Cannot connect to the Docker daemon. Is the docker daemon running on this host?....

?
나는 node2를 이미 확인했으며 잘 돌아갔습니다.

[업데이트] 나는 this page을 따르며 잘 작동합니다. 그러나 나는 아직도 도커 - 기계없이 떼 지어 모이기를 어떻게 설정했는지 알지 못한다.

[업데이트] 또 다른 방법은 작동하지 않습니다.

docker-machine create -d virtualbox \ 
    --swarm \ 
    --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \ 
    --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" \ 
    --engine-opt="cluster-advertise=eth1:2376" \ 
    mhs-demo1 

노드 1 고정 표시기 정보는 내가 평가 $ (고정 표시기 기계 ENV --swarm 노드 1) 를 입력 할 때 MHS-데모 1 여전히 알 수없는 IP하지만 정보 ..

[업데이트]
그것은

을 보여 표시

Error checking TLS connection: "node1" is not a swarm master. The --swarm flag is intended for use with swarm masters Does this cause error ? Why using swarm manager instruction to set up is not swarm master?

너무 이상합니다. 어떻게하면 같은 결과를 얻을 수 있습니까

docker-machine create \ -d virtualbox \ --swarm --swarm-master \ --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \ --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" \ --engine-opt="cluster-advertise=eth1:2376" \ mhs-demo0 

swarm 명령을 사용합니까?

웜 마스터를 만들 때 굳이 선언하고 싶지 않기 때문에 웜 명령을 사용하고 싶습니다.

답변

0

왜 노드를 시작하기 위해 도커 - 머신을 사용하고 있습니까? 도커 머신을 사용하여 이동 준비가 된 노드를 설정할 수 있습니다. 당신은 https://docs.docker.com/engine/userguide/networking/get-started-overlay/

+0

예 :

그냥이 따릅니다. 나는이 방법을 안다. 그러나 나는 왜 다른 접근법이 효과가 없는지를 이해하고 싶다. –

0

가이 파일을 삭제하려고이 튜토리얼을 따라 할 수

sudo rm /etc/docker/key.json 

은 다음과 고정 표시기 다시 시작 : 새 key.json 파일을 만들 것입니다이 시점 고정 표시기에서

sudo service docker restart 

및 당신의 주인은 당신의 노동자를 찾을 수 있어야합니다. 이는 모든 작업자 노드에 대해 동일한 이미지를 사용할 때가끔 발생하지만 쉽게 해결할 수 있습니다.

관련 문제