【问题标题】:Docker: how to connect from local container to local swarm portDocker:如何从本地容器连接到本地集群端口
【发布时间】:2018-05-17 00:55:18
【问题描述】:

我们在 6 台主机和大约 15 个容器上运行 swarm。有一个接入点作为端口 3010 开放。

在每个作为 swarm 节点的主机上,都有一个带有 3 个 docker 容器的本地隔离网络。在每台主机上,其中一个容器想要连接到该发布端口 3010。

我喜欢在该主机上使用端口,该主机当前正在运行该容器。不知道这样是否明智?

如何解决在 docker 容器上使用主机名连接到本地 swarm 端口。本地主机和 127.0.0.1 不可用。我可以在 swarm 上连接覆盖网络上的容器,但是在启动容器时,由于本地隔离网络,这是不可能的。

【问题讨论】:

    标签: docker containers swarm


    【解决方案1】:

    如何解决在 docker 容器上使用主机名连接到本地 swarm 端口。

    它是您的服务名称。
    例如。当docker service create --name blue --network dev markuman/color
    然后你可以附加到这个服务容器,找出确切的名称 id

    docker ps| grep blueeb46c52d0568        markuman/color:latest   
    "/bin/sh -c '/bin/..."   51 seconds ago      Up 49 seconds       80/tcp              blue.1.o5w76smq3kh5jlomltf6yohj3
    

    然后简单地做

    docker exec -ti blue.1.o5w76smq3kh5jlomltf6yohj3 bash
    

    就是这样。从那里您可以 ping 或 ssh 到分配给同一网络的其他服务。
    例如。当docker service create --name apache ... 在同一个网络中运行时,只需执行ping apache。够了

    【讨论】:

    • Swarm 服务已经在不同的网络上,例如有两种不同的网络:swarm 和 local on host。
    猜你喜欢
    • 2022-06-15
    • 2021-10-28
    • 2016-09-12
    • 2017-10-03
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多