Step1:创建docker网络
docker network create my-work-networkStep2:在这个网络中添加一些容器
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,反之亦然。但是,在我对接主机中,我必须解析两个容器IP地址并访问这些容器,有没有一种解决方案可以让我的对接主机能够JOIN IN这个虚拟网络?
目的
为了开发方便,我想直接访问这个网络中所有启动的容器,就像docker host是一个容器一样。例如,我可以使用以下配置访问postgresql数据库
host: my-work-pg # pg container host name
port: 5432但是,这并不是我想要的。
发布于 2017-06-06 03:51:11
对于您的目的,最好的方法是使用链接选项--链接并传递docker_image:name_to_binding,例如将redis与pg链接到您的配置中,就像这样
docker run ... --name my-work-redis --link my-work-pg image2在这些情况下,pg容器的名称与它在redis容器中用作内部名称的名称相同,而不需要像my-work-pg: name -pg- internal -redis这样的名称
发布于 2018-08-28 17:10:01
我可以向您保证,没有这种方法可以将docker daemon host添加到用户定义的网络my-work-network中。
就像你上面写的一样,你的目的是为了方便开发。所以我不认为你的配置host: my-work-pg是必要的。正如@Sebastian提到的,您可以使用-p标志进行容器中的应用程序端口和主机上的端口之间的映射。然后您就可以通过localhost:5432访问postgres服务了。我建议你阅读[docker.com][1]上的文档。希望能帮上忙~
https://stackoverflow.com/questions/42467904
复制相似问题