【发布时间】:2018-08-28 17:10:01
【问题描述】:
第一步:创建一个docker网络
docker network create my-work-network
第二步:添加一些容器到这个网络中
docker run ... --name my-work-pg --network my-work-network image1
docker run ... --name my-work-redis --network my-work-network image2
我的问题是:
当前,在my-work-pg,我可以ping my-work-redis,反之亦然。
但是,在我的 docker 主机中,我必须解析两个容器 IP 地址和
访问这些容器,是否存在使我的 docker 主机可以JOIN IN 这个虚拟网络的解决方案?
目的
为了开发方便,我想访问所有启动的容器 直接在这个网络中,就好像 docker host 是一个容器一样。例如我可以使用以下配置访问 postgresql 数据库
host: my-work-pg # pg container host name
port: 5432
但是,这并不是我想要的。
【问题讨论】:
-
只需将容器端口映射到您的 docker 主机:
docker run -p <host_port>:<container_port>。之后您可以使用localhost:port访问服务。 -
@zw963:只是为了理解你的目的,当你说“我想直接访问这个网络中所有启动的容器,就好像 docker 主机是一个容器一样”,默认情况下,docker 容器可以从主机访问.您还在寻找什么?