Docker 实现容器相互联系

日期:2021-03-28
浏览:
190 评论:0
核心提示:Docker 实现容器相互联系写作背景:由于自己在玩耍 Docker 时,无法分清宿主机端口与容器端口之间的关系,以致于连接失败;最后也是花费大把时间来学习才能搞懂,于是就写下该篇内容记录一下自己的成长连接关键:相互连接的容器,需要在相同的网络下。如 docker-compose.yml设置相同的networks值容器之间的访问,使用容器自己的端口个人经历:宿主机通过laradock安装gitlab与jenkins容器。宿主机通过http://localhost:8989正常访问gi
Docker 实现容器相互联系
写作背景:
- 由于自己在玩耍 Docker 时,无法分清宿主机端口与容器端口之间的关系,以致于连接失败;最后也是花费大把时间来学习才能搞懂,于是就写下该篇内容记录一下自己的成长
连接关键:
- 相互连接的容器,需要在相同的网络下。如
docker-compose.yml设置相同的networks值
- 容器之间的访问,使用容器自己的端口
个人经历:
- 宿主机通过
laradock安装gitlab与jenkins容器。宿主机通过http://localhost:8989正常访问gitlab的web页面,通过http://localhost:8090正常访问jenkins的web页面
- 我想在
jenkins里面访问gitlab的页面,然后将http://localhost:8989中的localhost切换成127.0.0.1、容器IP、容器名,但是都连接都是失败了
- 然后经过NN个小时查阅资料与测试,最终发现容器间的相互访问,是在同一网络的基础上,然后通过容器自身开放的端口来访问的,与映射无关。
- 于是,在
docker-compose.yml配置文件中设置gitlab与jenkins容器的networks值为相同值,如均设置为backend
networks:
- backend
- 最后在
jenkins里面通过http://gitlab即可访问。URL中的gitlab会解析成gitlab容器的IP。这里没有使用8989端口,是因为gitlab的web页面在容器的80端口
本文转载自:网络
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486