Docker容器的IP-Virtualbox + Windows

时间:2018-07-31 20:46:02

标签: docker vagrant virtualbox

在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:~$

该容器的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,并在VM本身上卷曲https://hash--sitename.netlify.com。但是在Windows计算机上尝试http://172.17.0.2时,我没有响应。

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

4 个答案:

答案 0 :(得分:1)

如果您将Windows与Ubuntu VM一起使用,并且在Ubuntu VM内运行Docker容器,则需要在docker-compose文件中或在创建硬币容器时公开需要的端口

>

docker-compose.yml示例:

version: '3.1'
services:

  rabbitmq:
    build:
      context: .
      dockerfile: Rabbit-Dockerfile
    container_name: broker
    restart: always
    environment:
      TZ: GMT
      RABBITMQ_DEFAULT_USER: rabbitIpi
      RABBITMQ_DEFAULT_PASS: ipitasks2018
    tty: true
    hostname: rabbit
    networks:
      celerynet:
        aliases:
          - rabbit
  ports:
      - 5672:5672
      - 5671:5671
      - 4369:4369
      - 25672:25672
      - 8181:15672
networks:
  celerynet:
    driver: bridge

docker run示例:

docker run -d -p 80:80 --name webserver nginx

在Ubuntu VM中公开容器的端口后,您将需要使用容器的端口访问Ubuntu VM的ip。

如果您的ubuntu VM上有防火墙,则需要打开容器将使用的端口

答案 1 :(得分:1)

为了向您的主机公开docker IP,您需要将VM网络设置设置为“桥接适配器”。

我使用macOS,但我认为在Windows中也是如此。

enter image description here

然后,检查您的VM IP。例如,如果您的VM IP为192.168.30.100,而您的docker在端口8000中运行。现在,您可以从主机访问IP为192.168.30.100:8000的docker。

答案 2 :(得分:1)

要求:

  • windows 7

  • docker-toolbox

说明:

  1. 启动docker quickstart终端
  2. 使用docker-machine ssh default在主机虚拟机中使用SSH
  3. 键入命令ip addr
  4. 将列出IP地址:

enter image description here

答案 3 :(得分:0)

对于Windows,如果是Vagrant BOX,则为Oracle Virtual Box

网络-可以处于NAT模式 端口转发应该作为规则添加..类似这样的东西 然后可以使用http:\ localhost:3000浏览 Oracle VM Network settings