嘟嘟社区

docker 容器 互访


请问 docker容器A(某服务) 和容器B 两个容器处于同一docker网络上,如果容器B想访问容器A的某服务,地址和端口应该如何填?不太想填A的ip(怕有变化),是填http://某服务名  加某服务端口? 谢谢!
不需要ip,直接容器名或者服务名就可以访问
用container名称就可以啊
容器加上–link参数 就可以互访了
例如  命为 nginx和php的容器
那么nginx 访问php  就要在nginx的 启动参数上 加 –link  php

suantong 发表于 2021-12-31 10:40
不需要ip,直接容器名或者服务名就可以访问

容器B里的某服务需要填写容器A的remote_addr ,这个addr 填A容器服务名即可识别到?

你可以在容器里查看/etc/hosts,会发现有自动写上了
所以直接填容器名就好
直接写这台服务器的内网ip地址就行了
速度差不了多少

七枷社 发表于 2021-12-31 10:47
容器加上–link参数 就可以互访了
例如  命为 nginx和php的容器
那么nginx 访问php  就要在nginx的 启动参 …

谢答。如果是docker-compose部署的,就在服务下加一条标签 links (第二行 _想链接的另一个服务)就可以了吧

https://docs.docker.com/compose/networking/

Delly 发表于 2021-12-31 10:54
谢答。如果是docker-compose部署的,就在服务下加一条标签 links (第二行 _想链接的另一个服务)就可以 …

bridge 类型的网络 默认IP是互通的 如果想用名称访问的话 就要加link