无法在 Windows 上使用 docker toolbox w Virtualbox 运行超过 1 个端口

Unable to run more than 1 port using docker toolbox w Virtualbox on windows

提问人:Shiladitya Thakur 提问时间:7/14/2021 最后编辑:Shiladitya Thakur 更新时间:7/14/2021 访问量:55

问:

我在 win 10 Home 上使用 docker toolbox,但在不同端口上运行多个容器时遇到问题。

下面我附上了我的 VirtualBox 网络端口转发设置和正在运行的容器的快照。基本上,我使用一个名为 feedback 的通用映像,有 2 个版本:一个使用端口 80 (feedback-app-v1),另一个使用端口 8000 (feedback-app-v2)。 只有 v1 正在运行,而另一个没有连接并显示

无法访问此站点。 连接已重置。

enter image description here enter image description here

我在这里遗漏了什么吗?任何帮助都是值得赞赏的

编辑

Dockerfile配置-

FROM 节点

WORKDIR /应用

复制 package.json 。

运行 npm install

复制。.

环境端口 80

公开 ${PORT}

CMD [“节点”,“服务器.js”]

上面是 v1 的 dockerfile,即端口 80 的工作示例,对于 v2,我只是将端口从 80 更改为 8000

enter image description here

该图显示了我为 v1(80) 和 v2(8000) 执行的 docker run 命令

虚拟框 docker-toolbox

评论

0赞 anemyte 7/14/2021
如果容器中的目标端口上没有任何内容侦听,则可能会出现此类错误。您是否仔细检查过 v2 是否正在侦听 80?
0赞 Shiladitya Thakur 7/14/2021
你好:)感谢您的回复。我对 docker 很陌生,所以我可能错了,我想你的意思是问 v2 是否在监听 3000,因为 3000 是连接到来宾端口 8000 的主机端口根据 virtualbox 网络配置。是的,我已经检查了几次,但它仍然不起作用。
0赞 anemyte 7/14/2021
哦,对不起,我错过了容器名称。我对带有 v2 的图像具有容器名称 v1 的图像名称感到困惑。我现在明白你的意思了。
1赞 anemyte 7/14/2021
问题可能出在错误的映射中。看到你在virtualbox中有这个规则:host:3000->vbox:8000。然后你有 docker vbox:3000->container:8000。我想你需要反转它才能让它工作:,然后你就会有一条这样的链.-p 8000:3000host:3000->vbox:8000->container:3000
1赞 anemyte 7/14/2021
如果有效,请尝试.在主机上检查 。-p 80:8000-p 8000:8000localhost:3000

答: 暂无答案