Docker 端口映射复查:127.0.0.1 与 0.0.0.0 差在哪

举报
yd_238478957 发表于 2026/11/08 10:40:28 2026/11/08
【摘要】 前两篇分别讲了用 nginx 托管静态页时的端口映射与文件挂载,以及练习结束后按名停止、删除和 --rm 的差别。本篇只复查 -p 左侧的主机地址:绑定 127.0.0.1 和绑定 0.0.0.0(或省略地址)差在哪。下列写法用于说明参数差异,请按自己的环境判断是否执行。示例容器名仍写作 demo-static-nginx-8080;仅在确认是自己本次练习创建的容器时查看,不要去改已有生产容...

前两篇分别讲了用 nginx 托管静态页时的端口映射与文件挂载,以及练习结束后按名停止、删除和 --rm 的差别。本篇只复查 -p 左侧的主机地址:绑定 127.0.0.1 和绑定 0.0.0.0(或省略地址)差在哪。下列写法用于说明参数差异,请按自己的环境判断是否执行。示例容器名仍写作 demo-static-nginx-8080;仅在确认是自己本次练习创建的容器时查看,不要去改已有生产容器。若当时用了 --rm 且容器已不在,对照参数即可,不必重新创建。

1. 只绑定本机环回

练习静态站点、只想在本机验证时,应继续使用:

-p 127.0.0.1:8080:80

-p 从左到右依次是主机地址、主机端口、容器端口。这里表示主机侧只监听环回地址 127.0.0.1 的 8080,转发到容器内 nginx 的 80。本机可通过 http://127.0.0.1:8080/ 访问;同一局域网的其他机器访问不到这个端口。

2. 省略地址或写成 0.0.0.0

下面两种写法会让主机在所有网卡上监听 8080:

-p 8080:80
-p 0.0.0.0:8080:80

这只是网络可达性的差异,并不是「更正确」的映射方式。同一局域网内的其他设备,若能到达这台机器的对应地址,就可能访问到该端口。本练习不讨论对公网开放,也不涉及云上安全组或防火墙该怎么配。

3. 对照已有练习容器

若示例容器还在,且确认是自己的练习容器,可看 PORTS 一列是 127.0.0.1:8080->80/tcp 还是 0.0.0.0:8080->80/tcp:

docker ps --filter name=demo-static-nginx-8080

没有记录时可直接跳过,无需重新创建,也不要用 sudo 或做全局清理。只想本机验证时,继续用 127.0.0.1 即可。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。