2016-04-13 6 views
8

Mam klastra roota doków, zawiera 1 główny 3 węzłów. Kiedy wdrożyć pojemnik przez mistrza roju, na przykład za pomocą polecenia poniżejCzy możemy wdrożyć kontener do określonego węzła w rowie docker

docker -H tcp://<master_ip>:5001 run -dt --name swarm-test busybox /bin/sh 

Swarm będzie auto wybrać węzeł, a następnie wdrożyć mój pojemnik. Czy istnieje sposób, aby ręcznie wybrać węzeł? np. chcę wdrożyć kontener w węźle 1.

Odpowiedz

4

Spójrz na dokumenty Swarm filter. Możesz ustawić różne ograniczenia, które węzeł powinien wybrać dla danego kontenera. Dla swojej sprawy wypróbuj coś takiego:

docker run ... -e constraint:node==node1 ... 

To spowoduje uruchomienie kontenera pod numerem node1.

+0

co to jest "węzeł1"? nazwa hosta ..? Muszę go uruchomić na węźle1, ale docker nie rozumie, co to jest node1 – holms

+0

ok, więc jest to pierwsza część nazwy hosta, więc musiałem wydobyć to za pomocą terraform: może ktoś będzie zainteresowany: 'sudo docker --tls -H $ {aws_instance.master.0.private_ip}: 2376 aktualizacja węzła --label-add name = slave - $ {count.index} $ {element (split (".", self.private_dns), 0)} ' – holms