docker - docker暴露的端口无法正常工作
问题描述
我在 RHEL 7.2 上使用 docker 20.10.6,但 docker 和暴露的端口有一个奇怪的问题。我使用以下命令启动了两个不同的容器:
docker run -it --rm -d -p 8080:80 --name web_exposed nginx
docker run -it --rm -d --net=host --name web_native nginx
这是 docker ps 输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
829fcf79c84e nginx "/docker-entrypoint.…" 8 seconds ago Up 7 seconds web_native
a2a32b1091c6 nginx "/docker-entrypoint.…" 26 seconds ago Up 25 seconds 0.0.0.0:8080->80/tcp, :::8080->80/tcp web_exposed
这是 netstat 输出
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN off (0.00/0/0)
第一个 web_exposed 无法从任何地方访问,而第二个 web_native 可通过端口 80 从外部设备访问。
我认为这与 iptables 和内部路由/选址有关,但不明白如何弄清楚。
你能帮我么?谢谢
解决方案
推荐阅读
- google-cloud-firestore - 在地图 Firestore 中运行事务
- powerbi - POWERBI 通过与英文不同的字母更改矩阵中列的顺序
- python - 为什么这条希尔伯特曲线不画?
- html - 如何根据浏览器视图对 HTML 文件的内容进行排序?
- bash - 如何将 Docker-compose 消息隐藏到 stderr?
- python-3.x - 如何形成连通分量的三元组以形成无向图?
- c# - OWIN WebAPI 简单注入器 EFCoreInMemoryDB 注入
- angular - ListView 不会一次呈现所有项目
- sql - 使用连接 SQL 更新表的所有行
- twig - 在 Twig 中创建具有变量 Key 的对象