步骤1:创建一个泊坞网络
docker network create my-work-network
步骤2:在此网络中添加一些容器
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
但是,这不完全是我想要的。
答案 0 :(得分:0)
为了您的目的,最好的方法是使用链接选项--link并传递docker_image:name_to_binding,例如将redis与pg链接到您的配置就像那样
net=host
在这些情况下,在redis容器中用作内部名称的pg容器的名称相同,并且不需要像my-work-pg这样的名称:name-pg-internal-redis
答案 1 :(得分:0)
我可以向您保证,无法将docker daemon host
添加到用户定义的网络my-work-network
中。
就像您上面写的一样,您的目的是为了开发方便。因此,我认为您的配置host: my-work-pg
并不是必需的。如@Sebastian所述,您可以使用-p
标志来映射容器中应用程序的端口和主机上的端口。然后,您可以通过localhost:5432
访问postgres服务。
建议您阅读[docker.com][1]
上的文档。
希望对您有所帮助〜