如何通过主机的主机名从另一个容器到达一个容器?
How do I reach a container through the host's hostname from another container?
我是 运行 docker 20.10 和 docker-compose 1.29.2 on Centos 7.
我在 myhost
上使用 docker-compose 有两个容器(bitbucket 和 jenkins)运行。我正在使用默认的 bridge
网络。以下是主机名和服务:
host : service/port : container/host port mapping
myhost : apache/80 : <na>
bitbucket : bitbucket/7990 : 7990:7990
jenkins : jenkins/8083 : 8083:8083
workstation : <na> : <na>
从 workstation
,我从 curl myhost:80
获得结果,从 curl myhost:7990
获得结果。
从 jenkins
我从 curl bitbucket:7990
和 curl myhost:80
得到结果,但问题是我 不 从 curl myhost:7990
。
我需要能够从 bitbucket
中的 jenkins
访问子模块,并且我希望 .gitmodules
文件引用相同的子模块 URL: myhost:7990/scm/project/repo
.
我在 myhost
上没有任何特殊的网络配置。我尝试将 7990 添加到 docker
区域 (firewall-cmd),但这没有帮助。
它似乎几乎 正常工作。这里的问题和解决方法是什么?
谢谢!
尝试使用容器的私有IP。如果他们在同一个网络中,它应该可以工作。
docker inspect <container ID> | grep -w -m1 "IPAddress"
<private IP>:7990/scm/project/repo
What is the problem and solution here?
尝试在您的 docker-compose 的服务中添加 link,这样它将 link 两个不同的 containers
。
- 链接允许您定义额外的别名,通过这些别名可以从另一个服务访问一个服务。
我是 运行 docker 20.10 和 docker-compose 1.29.2 on Centos 7.
我在 myhost
上使用 docker-compose 有两个容器(bitbucket 和 jenkins)运行。我正在使用默认的 bridge
网络。以下是主机名和服务:
host : service/port : container/host port mapping
myhost : apache/80 : <na>
bitbucket : bitbucket/7990 : 7990:7990
jenkins : jenkins/8083 : 8083:8083
workstation : <na> : <na>
从 workstation
,我从 curl myhost:80
获得结果,从 curl myhost:7990
获得结果。
从 jenkins
我从 curl bitbucket:7990
和 curl myhost:80
得到结果,但问题是我 不 从 curl myhost:7990
。
我需要能够从 bitbucket
中的 jenkins
访问子模块,并且我希望 .gitmodules
文件引用相同的子模块 URL: myhost:7990/scm/project/repo
.
我在 myhost
上没有任何特殊的网络配置。我尝试将 7990 添加到 docker
区域 (firewall-cmd),但这没有帮助。
它似乎几乎 正常工作。这里的问题和解决方法是什么?
谢谢!
尝试使用容器的私有IP。如果他们在同一个网络中,它应该可以工作。
docker inspect <container ID> | grep -w -m1 "IPAddress"
<private IP>:7990/scm/project/repo
What is the problem and solution here?
尝试在您的 docker-compose 的服务中添加 link,这样它将 link 两个不同的 containers
。
- 链接允许您定义额外的别名,通过这些别名可以从另一个服务访问一个服务。