繁体   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