簡體   English   中英

在Ubuntu VM中訪問Docker容器端口

[英]Access Docker Container Port in a Ubuntu VM

給定一個在內部運行172.0.18.2映像(IP: 172.0.18.2 )的Ubuntu VMWare計算機(IP: 192.168.10.35 ),並給出此docker-compose.yml ,我如何從本地計算機訪問Docker映像?

version: '3'

services:
    sc2:
      build: .
      ports:
        - 127.0.0.1:4620:80
      restart: always
      networks:
        - default
      volumes:
        - ./sc2ai:/sc2ai
        - ./apache/000-default.conf:/etc/apache2/sites-available/000-default.conf
networks:
    default:

我嘗試訪問192.168.10.35:4620但連接失敗。 我想念什么? docker-compose missing中是否有選項,還是我需要將端口從VM內部轉發到docker映像?

PS:如果我在本地計算機上的docker-for-windows啟動映像,則可以通過http://localhost:4620

不能,因為您已明確聲明只能從VM本身訪問容器 (而不是映像)。 報關單

ports:
  - 127.0.0.1:4620:80

將主機上端口4620上的入站連接轉發到容器中的端口80,但僅在綁定到127.0.0.1的接口上,該接口是專用的回送接口(通常稱為lo )。 當您嘗試從主機聯系它時,它到達了VM的外部IP 192.168.10.35,但是那里沒有監聽。

如果刪除顯式端口綁定,則Docker將偵聽通常需要的所有接口,然后您應該能夠通過VM的外部IP地址訪問容器。

ports:
  - '4620:80'

(術語:映像是一組靜態文件系統內容;您從映像啟動容器,並與正在運行的容器建立網絡連接。您無法直接看到映像中的內容,映像沒有任何正在運行的進程,並且您將無法單獨連接到圖像。)

暫無
暫無

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

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