我的 docker 容器未在 Docker for Windows(本机使用 Hyper-V)上的 localhost (0.0.0.0) 上启动

2023-12-26

我正在跟进数字海洋的教程 https://www.digitalocean.com/community/tutorials/how-to-run-nginx-in-a-docker-container-on-ubuntu-14-04关于如何启动 nginx docker 容器(当前为第 4 步)。目前这是他们的输出:

$ docker run --name docker-nginx -p 80:80 -d nginx
d3ccb73a91985651ec61231bca9f9c716f0dec807e354a29eeef2144f883a01c

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                         NAMES
b91f3ce26553        nginx               "nginx -g 'daemon off"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, 443/tcp   docker-nginx

但是当我运行它时,这是我的输出(注意到容器的不同IP):

C:\>docker run --name docker-nginx -p 80:80 -d nginx
d3ccb73a91985651ec61231bca9f9c716f0dec807e354a29eeef2144f883a01c

C:\>docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                           NAMES
d3ccb73a9198        nginx               "nginx -g 'daemon off"   14 hours ago        Up 2 seconds        10.0.75.2:80->80/tcp, 443/tcp   docker-nginx

为什么会出现这种情况?我怎样才能得到与 Digital Ocean 相同的结果? (让服务器在本地主机上启动)


Edit: 我在用着适用于 Windows 的 Docker https://docs.docker.com/docker-for-windows/(最近发布)显然是使用 Hyper-V 本地运行的。我的输出为docker-machine ls这是:

C:\>docker-machine ls
NAME   ACTIVE   DRIVER   STATE   URL   SWARM   DOCKER   ERRORS

C:\>

但是当我运行它时,这是我的输出(注意到不同的IP 容器)

Since this a Windows machine, I assume that you're using Docker Toolbox Docker for Windows. 10.0.75.2 is the IP of the boot2docker virtual machine.

如果您使用 Windows 或 Mac OS,则需要某种形式的虚拟化 命令运行 Docker。你刚才看到的IP就是那个轻量级虚拟机的IP。

我怎样才能得到与 Digital Ocean 相同的结果? (得到 服务器在本地主机上启动)

使用 Linux 发行版!您也可以启用暴露容器端口localhost in 适用于 Windows 的 Docker https://docs.docker.com/docker-for-windows/设置:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 docker 容器未在 Docker for Windows(本机使用 Hyper-V)上的 localhost (0.0.0.0) 上启动 的相关文章

随机推荐