Docker容器的IP-Virtualbox + Windows

Mel*_*ssa 6 virtualbox vagrant docker

在Windows机器上,要为Virtual Box上的VM中运行的Docker容器的IP使用什么IP地址?

我有:

  • Windows 10机器
  • 随Ubuntu VM一起安装的Virtualbox
  • 已经安装了Docker
  • 和运行端口80/443的容器

在VM上,我可以运行docker命令并查看容器正在运行

vagrant@ubuntu-xenial:~$ docker ps
CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS                                      NAMES
e7a41b3edecd        nrel/api-umbrella   "api-umbrella run"   17 minutes ago      Up 17 minutes       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   api-umbrella
vagrant@ubuntu-xenial:~$
Run Code Online (Sandbox Code Playgroud)

该容器的IP为:

vagrant@ubuntu-xenial:~$ docker inspect e7a41b3edecd | grep "IPAddress"
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",
vagrant@ubuntu-xenial:~$
Run Code Online (Sandbox Code Playgroud)

我可以ping IP 172.17.0.2,并在VM本身上卷曲http://172.17.0.2。但是在Windows计算机上尝试http://172.17.0.2时,我没有响应。

问题 -我从Windows机器使用什么IP来获取VM上运行的Docker容器?

Han*_*rus 3

为了将 docker IP 暴露给主机,您需要将虚拟机网络设置设置为“桥接适配器”。

我用的是 macOS,但我认为在 Windows 中也是一样的。

在此输入图像描述

之后,检查您的虚拟机 IP。例如,如果您的虚拟机 IP 192.168.30.100,并且您的 docker 在端口 8000 中运行。现在您可以从主机使用 IP 192.168.30.100:8000 访问您的 docker。