【问题标题】:can we deploy a container into a specific node in a docker swarm我们可以将容器部署到 docker swarm 中的特定节点吗
【发布时间】:2016-11-21 23:52:51
【问题描述】:

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

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

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

【问题讨论】:

    标签: linux docker docker-swarm


    【解决方案1】:

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

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

    这将在node1 上启动容器。

    【讨论】:

    • 什么是“node1”?主机名..?我需要在 node1 上实际启动它,但 docker 不明白 node1 是什么
    • 好的,它实际上是主机名的第一部分,所以我不得不用 terraform 提取它:也许有人会感兴趣:sudo docker --tls -H ${aws_instance.master.0.private_ip}:2376 node update --label-add name=slave-${count.index} ${element(split(".", self.private_dns), 0)}
    猜你喜欢
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 2015-08-24
    • 1970-01-01
    相关资源
    最近更新 更多