docker宿主机访问容器_Docker容器与宿主机器通过IP内外通讯

例如一个如下场景,在Docker环境下面运行了一个含有PHP环境的Docker容器(container),容器名称为php1,同时在宿主机(真实机器)上面有一个MySQL服务器,如何来通过,容器内部的PHP程序来访问外部的MySQL呢?

868b26ca99f1986206c88829c4de30d0.png

原理:

当docker服务启动起来时,宿主机器便作为网关的存在与其他Docker容器处在同一个网段内,就像是路由器和各个连接终端之间的关系,宿主机就类似于路由器。

1、 通过 ifconfig 可以查看到当前宿主机的网卡情况,红线内就是主机的ip。

b32e6503c7894784fadaadaf81f60ba8.png

2、查看某个具体的运行起来的容器的内网ip 通过命令 docker inspect php1 来查看具体的容器ip和网关ip(宿主机)。

e350a162cb918ec190dd880fee2372bb.png

3、如果要通过容器访问到外部机器,例如我们在程序里面配置ip为 172.17.0.1 就可以访问到外部机器了。如果外部有web服务,也可以通过命令 docker exec -it php1 /bin/bash 进入容器然后使用 curl 172.17.0.1 检测是否连接通畅。

喜欢本文的话,给个转发关注吧!

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页