自以为动手能力强,被 wsl docker 啪啪打脸

2023-08-02 13:15:18 +08:00
 shyrock

多年来风闻 docker 是程序员的好帮手,也是 DIYer 的好玩具。 心想以我多年行医(编程)经验,给家里的小主机装个 docker 应该没问题吧。

其实就想装一个 openwrt 的 docker 实现全局翻墙而已。 然而利用摸鱼时间鼓捣了整三天了,openwrt 的 docker 运行起来,neng 是没法连接上管理页面。。。

也搞不清楚是镜像有问题? WSL2 兼容性问题? iptables 问题? 甚至 exec 到 docker 容器内部,也看不到有运行成功的迹象。。。

于是退而求其次,随便 pull 一个 erp 的镜像看能不能跑起来,以便排除 wsl2 的问题。 结果一样,看上去运行 docker 正常,但是无法连接。

再问一下: docker 容器内部能用哪些工具( apt-get/ll/ifconfig 这些)是由什么决定的? 我在 WSl2 的宿主机中有这些工具,但是进入不同的容器后,有的命令有,有的命令没有,每个容器都不一样。

1166 次点击
所在节点    Docker
3 条回复
6IbA2bj5ip3tK49j
2023-08-02 15:37:57 +08:00
连不上,你是怎么连的?
WSL 是个虚拟机,如果直接用 docker 分配的 ip ,windows 上是没办法访问的。

docker 容器内部能用哪些工具,是由 base image 决定的,有的是 alpine ,有的是 debian……
shyrock
2023-08-02 16:03:46 +08:00
@xgfan #1 不是从 windows 连,wsl2 的虚拟镜像是基于 ubuntu 的,也就是 ubuntu 是宿主机,我直接从宿主机连接 docker 的端口连不上。

关于 base image 的问题,我 pull 了两个不同镜像,一个是 postgre 的,一个是 erp 的。
exec 进去分别用 cat /proc/version 和 uname 看,两个都是一样的显示 wsl2 啊。
为什么显示的不是 base image 而是宿主机的 image ?
shyrock
2023-08-02 16:04:55 +08:00
@xgfan #1 就是在宿主机上运行 curl 容器名:映射到外部的端口
其实,因为是把容器的 80 映射到宿主机的 80 ,这个端口一样的。

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

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

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

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

© 2021 V2EX