저는 Vagrant와 해당 지역을 사용하여 DEV 최소 centos VM을 제공합니다. VM은 모두 Docker 1.12.x를 실행하며 이제는 자동으로 웜 모드 클러스터를 만듭니다. 목표는 vagrant up
이고 cli가 돌아 오면 클러스터가 실행 중입니다.웜 모드 설정 Dager Swarm with Vagrant
문제 상자에서 docker swarm init --advertise-addr <my init swarm mgr>
을 실행할 수 있지만이 상자에서 관리자 및 작업자 노드에 대한 토큰을 가져 와서 이후에 설정된 VM에 주입해야합니다.
루비를 프로그래밍 할 수 없으며, 피할 수 있다면 Docker Remote API로 시작하지 않을 것입니다.
테스트 VM 설정에서 hostid를 요청하여 게스트 cmd 출력을 Vagrantfile의 변수에 할당하려고 시도했지만 Ruby가 스크래치가되지 않습니다.
로컬이 아닌 VM을 프로비저닝 할 때 Vagrant를 사용하여 스웜 모드 클러스터를 만드는 것이 가장 좋은 방법입니다.
EDIT : 적어도 토큰을 파일 형태로 추출하여 관련 컴퓨터에 복사 할 수있는 vagrant scp을 보았습니다. 나는 플러그를 꽂기보다는 순수한 것을 유지하기를 원했으며 더 많은 방황 명령을 실행하기 위해 Ruby에서 포격하는 것을 피했지만 (더 좋은 방법은 있나?) 적어도 방랑하고 무언가있는 지역을 사용했다.
스웜 (Swarm) 모드를 사용하지 않으므로이 사용 사례에 대한 좋은 예는 아닙니다. OP에 관해서는 쉘 스크립트를 사용하여해야 할 일을하기 위해 sag etc를 실행할 수 있습니다 (docker swarm join-token -q manager, docker swarm join --token 등을 사용하여 토큰을 가져옵니다). .. 다른 사람들에게. – johnharris85
글쎄, 내가 잘못 했으니 까 맞았다 고 생각해서 다행 이네.하지만, 스크립트를 사용하는 손님에게'docker swarm join-token -q manager'를 실행한다고 생각하지 않는다. 명령이 init swarm mgr에서 실행되고 게스트에 "트랩 된"반환 된 토큰이 있기 때문에 방랑자 호스트는 Vagrant 파일에 정의 된 다음 시스템으로이를 전달할 수 없으므로 swarm에 참여할 수 없습니다. 제공 할 수 및 작동 예제? 감사 – volvox