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

can we deploy a container into a specific node in a docker swarm

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

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

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

查看 Swarm filter 文档。您可以对 Swarm 应该为任何给定容器选择的节点设置各种约束。对于您的情况,请尝试以下操作:

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

这将在 node1 上启动容器。