是否可以在Linux上设置docker容器,以便可以使用容器的ip从Windows 10上的主机直接访问它?
我的docker compose文件很简单
version: '2'
services:
silo1:
hostname: silo1
image: 'silo'
ports:
- '11111:11111'
- '30000:30000'
现在要检查我运行的容器的IP地址
# hostname -I
172.20.0.2
#
此容器运行可从子网络172.20.0。*上的其他容器访问的服务,但是运行Docker的Windows 10上的我的主机无法通过包括11111、30000在内的任何端口ping IP。
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,而不是主机系统。
答案 0 :(得分:0)
Docker从其默认网桥(在您的情况下为172.20.0.0/16)分配IP地址。
但是Docker还可以让您创建一个自定义的桥接网络,您可以在其中选择IP范围。