Docker 端口映射复查:127.0.0.1 与 0.0.0.0 差在哪
前两篇分别讲了用 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 即可。
- 点赞
- 收藏
- 关注作者
评论(0)