需要使用docker分配给容器的ip使容器可以从主机访问

需要使用docker分配给容器的ip使容器可以从主机访问,docker,docker-compose,Docker,Docker Compose,是否可以在Linux上设置docker容器,以便可以使用容器的ip从Windows 10上的主机访问它 我的docker编写文件很简单 version: '2' services: silo1: hostname: silo1 image: 'silo' ports: - '11111:11111' - '30000:30000' 现在要检查容器的ip地址,我运行 # hostname -I 172.20.0.2 # 此容器运行的

是否可以在Linux上设置docker容器,以便可以使用容器的ip从Windows 10上的主机访问它

我的docker编写文件很简单

version: '2'
services:
  silo1:
    hostname: silo1
    image: 'silo'
    ports: 
        - '11111:11111'
        - '30000:30000'
现在要检查容器的ip地址,我运行

# hostname -I
172.20.0.2
#
此容器运行的服务可从子网络172.20.0.*上的其他容器访问,但我在Windows 10上运行Docker的主机无法通过任何端口ping ip,包括111113000

paping.exe 172.20.0.2 on TCP 11111:
Connection timed out
我的主机显示以下网络信息:

IPv4 address: 192.168.0.22
IPv4 Subnet Mask: 255.255.255.0
可能是主机和容器位于不同的本地子网上引起的问题?如果是这样,我如何配置docker容器将192.168.0.*ip分配给我的容器?我想知道集装箱是如何为集装箱选择港口的,为什么具体是172.20*


我知道这些端口是通过主机打开的,就像容器的服务必须可以通过192.168.0.22:11111访问一样,但我需要使用分配给容器的ip,而不是主机系统。

Docker从其默认网桥(在您的情况下是172.20.0.0/16)分配ip地址

但是Docker还允许您创建一个自定义网桥网络,您可以在其中选择IP范围

更多信息请点击此处:

谢谢。1) 我是否可以将自定义网桥网络设置为与主机位于同一子网2)我是否可以从主机系统访问带有IP的容器?