簡體   English   中英

Docker 容器的 IP - Virtualbox + Windows

[英]IP of Docker Container - Virtualbox + Windows

在 Windows 機器上,我可以使用哪個 IP 地址作為在 Virtual Box 上的 VM 中運行的 Docker 容器的 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:~$

我可以在 VM 本身上 ping IP 172.17.0.2 並 curl http://172.17.0.2 但是在 Windows 機器上嘗試http://172.17.0.2時我沒有響應。

問題- 我從 Windows 機器使用什么 IP 來獲取在 VM 上運行的 Docker 容器?

為了將您的 docker IP 公開給您的主機,您需要將您的 VM 網絡設置設置為“橋接適配器”。

我使用 macOS,但我認為它在 Windows 中是一樣的。

在此處輸入圖片說明

之后,檢查您的VM IP。 例如,如果您的虛擬機 IP 為 192.168.30.100,並且您的 docker 運行在端口 8000。現在您可以使用 IP 192.168.30.100:8000 從您的主機訪問您的 docker。

如果您使用 Windows 和 Ubuntu VM,並且在 Ubuntu VM 中運行 Docker 容器,則需要公開您在 docker-compose 文件中或在創建 cointainer 時可能需要的端口

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 運行示例:

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

在 Ubuntu VM 中公開容器的端口后,您需要使用容器的端口訪問 Ubuntu VM 的 ip。

如果您的 ubuntu VM 上有防火牆,則需要打開容器將使用的端口

要求:

  • Windows 7的

  • 碼頭工人工具箱

指示:

  1. 啟動 docker 快速啟動終端
  2. 在主機 vm 中使用docker-machine ssh default
  3. 輸入命令ip addr
  4. 將列出 IP 地址:

在此處輸入圖片說明

對於 windows,Vagrant BOX 如果是 Oracle Virtual Box

網絡 - 可以處於 NAT 模式端口轉發應該作為規則添加.. 就像這樣,然后可以瀏覽 http:\\localhost:3000 Oracle VM 網絡設置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM