将docker主机添加到docker网络中

时间:2017-02-26 11:30:02

标签: docker docker-networking

步骤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

但是,这不完全是我想要的。

2 个答案:

答案 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]上的文档。 希望对您有所帮助〜