随笔 - 144  文章 - 0  评论 - 2  阅读 - 19万

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

例如一个如下场景,在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 检测是否连接通畅。
posted on   黑夜开发者  阅读(38)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示