Docker localhost进程无法在Windows上运行

时间:2016-12-18 13:26:48

标签: windows docker

我正在使用Docker Quickstart终端来运行docker容器。容器应该在Array.prototype.slice的端口8088上工作:

localhost

但是,当我转到 docker run -it --name myContainer -p 8088:8088 localhost:8088时,我找不到任何正在运行的进程。

这适用于OSX。

为什么这不适用于Windows?

2 个答案:

答案 0 :(得分:17)

我假设你正在使用VirtualBox,因为那是与Quickstart终端集成的内容。

它不起作用的原因是Windows本身并不运行您的(Linux)容器,而是在一个单独的基于Linux的VM中运行它们。此虚拟机可以使用与您的物理地址不同的IP地址。机器,通常在启动快速启动终端时打印:

enter image description here

这是您需要使用的IP地址才能连接到已发布的容器端口。

答案 1 :(得分:3)

一种可能性是您正在使用的VM类型:HyperV(Docker For Windows)或VirtualBox(Docker Toolbox)。

如果是后者(这可能是因为您使用的是Docker Quickstart终端),您需要向前移动8088以便您的PC(localhost)能够看到它。
见" How do I configure docker compose to expose ports correctly?"以VirtualBox为例。

如果localhost不起作用, docker-machine ip 将显示正在执行的VM的IP。