外部电脑,如何访问 docker 容器内的 ip 地址?

2020-11-25 00:22:21 +08:00
 GTD
楼主现在在 docker 弄了个 wordpress,然后映射到本地 80 端口,然后用本地 ip 可以访问

但是楼主想直接用外部电脑,直接访问 docker 容器,而不是通过映射的方法,有办法可以实现吗?

楼主尝试用 docker inspect wordpress,显示的 ip 地址输入到浏览器中去,并没有任何效果,而且每次地址都是:172.17.0.3


有大佬知道要怎么操作吗?感谢
2682 次点击
所在节点    问与答
15 条回复
jj783850915
2020-11-25 00:26:06 +08:00
路由表试试?
wunonglin
2020-11-25 00:38:06 +08:00
--network host
GTD
2020-11-25 00:46:42 +08:00
@wunonglin #2 这个怎么用呀
FireFoxAhri
2020-11-25 00:48:44 +08:00
inspect 看到的 ip 应该是可以直接访问的
GTD
2020-11-25 00:50:14 +08:00
@FireFoxAhri #4 诶 不行啊,只有映射过后才能访问,而且我几台机器,inspect 后的地址都是 172.17.0.3
GTD
2020-11-25 00:51:46 +08:00
@FireFoxAhri #4 哦哦 你说的是 localhost 可以访问是吧,那应该可以的,我想的是全局访问
GTD
2020-11-25 00:51:56 +08:00
算了 放弃了

就这样吧
woshijidan
2020-11-25 00:55:36 +08:00
创建 docker 时监听母鸡端口并转发到 docker 的端口
francis59
2020-11-25 00:56:31 +08:00
如果是用的默认的桥接方式映射的端口,那就直接用 host 机的 IP 地址访问
FireFoxAhri
2020-11-25 00:58:45 +08:00
@GTD 如果是 Windows 访问 wsl2 的我倒是最近刚研究出来,用 Windows 的 route add 方法可以转发到 wsl2 里面,Linux 下面应该也有类似的命令
AoTmmy
2020-11-25 01:29:12 +08:00
macvlan 指定 ip
比如本机是 192.168.0.2,可以把 docker 指定成 192.168.0.8 这种的
yestodayHadRain
2020-11-25 09:04:58 +08:00
楼主解决了更新一下帖子
OrangeLoveMilan
2020-11-25 09:17:43 +08:00
容器启动时默认使用 bridge 网络模式
你需要在启动时加上参数 -n host 这样容器就和宿主机共用一个 network 的 namespace
GTD
2020-11-25 09:55:54 +08:00
@yestodayHadRain #12
@FireFoxAhri #10

解决了,看看这个博客,讲的很清楚: https://www.jianshu.com/p/270125484301
julyclyde
2020-11-25 10:50:52 +08:00
docker 成功的把初学者从“干点活”吸引到“修工具”去了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728908

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX