Docker容器与宿主机器通过IP内外通讯

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21891743/article/details/88758200

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


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

  • 通过 ifconfig 可以查看到当前宿主机的网卡情况,红线内就是主机的ip。
    在这里插入图片描述
  • 查看某个具体的运行起来的容器的内网ip 通过命令 docker inspect php1 来查看具体的容器ip和网关ip(宿主机)。
    在这里插入图片描述
  • 如果要通过容器访问到外部机器,例如我们在程序里面配置ip为 172.17.0.1 就可以访问到外部机器了。如果外部有web服务,也可以通过命令 docker exec -it php1 /bin/bash 进入容器然后使用 curl 172.17.0.1 检测是否连接通畅。

猜你喜欢

转载自blog.csdn.net/qq_21891743/article/details/88758200
今日推荐