在 Windows 计算机上,我可以使用什么 IP 地址作为 Virtual Box 上虚拟机内运行的 Docker 容器的 IP?
我有:
- Windows 10 计算机
- 与 Ubuntu VM 一起安装的 Virtualbox
- 已安装 Docker
- 以及一个使用端口 80/443 运行的容器
在虚拟机上我可以运行 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:~$
该容器的IP是:
vagrant@ubuntu-xenial:~$ docker inspect e7a41b3edecd | grep "IPAddress"
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAddress": "172.17.0.2",
vagrant@ubuntu-xenial:~$
我可以 ping IP 172.17.0.2 并 curl http://172.17.0.2在虚拟机本身上。但是当尝试http://172.17.0.2时在 Windows 机器上我没有反应。
问题 - 我应该从 Windows 计算机使用什么 IP 来获取在虚拟机上运行的 Docker 容器?
最佳答案
为了将 Docker IP 暴露给主机,您需要将虚拟机网络设置设置为“桥接适配器”。
我使用 macOS,但我认为在 Windows 中也是一样的。
之后,检查您的虚拟机 IP。例如,如果您的虚拟机 IP 192.168.30.100,并且您的 docker 在端口 8000 中运行。现在您可以从主机通过 IP 192.168.30.100:8000 访问您的 docker。
关于docker - Docker容器的IP - Virtualbox + Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51621813/