我们可以将容器部署到docker swarm中的特定节点

joj*_*ojo 12 linux docker docker-swarm

我有一个docker swarm集群,它包含1个master 3节点.当我们通过swarm master部署容器时,例如使用以下命令

docker -H tcp://<master_ip>:5001 run -dt --name swarm-test busybox /bin/sh
Run Code Online (Sandbox Code Playgroud)

Swarm将自动选择一个节点并部署我的容器.有没有办法手工挑选一个节点?例如,我想在节点1中部署容器.

Eri*_*erg 11

看一下Swarm 过滤器文档.您可以为Swarm应该为任何给定容器选择的节点设置各种约束.对于你的情况尝试类似:

docker run ... -e constraint:node==node1 ...
Run Code Online (Sandbox Code Playgroud)

这将启动容器node1.

  • https://docs.docker.com/v17.12/engine/reference/commandline/service_create/#set-service-mode-mode (2认同)