【问题标题】:Docker cannot connect locally after swarm is set upswarm 设置好后 Docker 无法本地连接
【发布时间】:2018-11-30 00:18:38
【问题描述】:

我在第 3 部分做 docker 教程文档。因为我的电脑是 windows,所以我使用 docker 工具箱。在第3部分之前,我使用命令docker run -p 8080:80 test,它可以连接到192.168.99.100:8080,即成功。

但是当创建一个 swarm 并部署 docker-compose.yml 时,它是成功的。

ID                  NAME                MODE                REPLICAS            IMAGE                         PORTS
uskmy4zkflhf        testswarm_web       replicated          5/5                 ***/get-started:test   *:6666->80/tcp

但是我用192.168.99.100:6666连接时,页面显示不出来,用ping可以看到192.168.99.100可以连接。

当我卸载工具箱然后重新安装它时,我只部署了一次,这意味着整个程序只设置一次端口,没有容器占用它。在这种情况下也不起作用。

这有什么问题?

【问题讨论】:

    标签: docker swarm


    【解决方案1】:

    当您使用独立模式或群模式时,端口发布机制的工作方式不同。如果您在 swarm 模式下使用 compose 文件,则不应使用 docker-compose up 而应使用 docker stack deploy

    我建议一步一步来,而不是使用 stack deploy 或 compose 方法,先学会使用 docker service create 命令,然后一次使用一项服务。

    试试docker service create --name proxy --publish 8080:80 nginx,看看你是否可以通过 192.168.99.100:8080 访问 NGINX。到达那里后,尝试使用docker service update --replicas=5 proxy 对其进行缩放。

    一旦您对此感到满意,您应该能够更准确地判断发生了什么。

    如果你想深入了解 por 发布在 swarm 模式下的工作原理,我建议this docs article

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 2019-09-01
      相关资源
      最近更新 更多