我们在6个主机和大约15个容器上运行swarm。有一个接入点作为端口3010打开。
在每个主机上,这是swarm的节点,有一个带有3个docker容器的本地隔离网络。在每个主机上,其中一个容器要连接到该发布端口3010.
我喜欢在该主机上使用端口,该主机当前正在运行该容器。我不知道,如果这是明智的吗?
如何解决在docker容器上使用的主机名称以连接到本地群集端口。 Localhost和127.0.0.1不可用。我可以在swarm上连接覆盖网络上的容器,但是当启动容器时,由于本地隔离网络,它是不可能的。
答案 0 :(得分:0)
如何解决在docker容器上使用的主机名称以连接到本地群集端口。
您的服务名称
例如。当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
。这已经足够了