Docker0为NAT桥,所以容器一般获得的是私有网络地址
给docker run命令使用-p选项即可实现端口映射,无需手动添加规则
-p 选项的使用
-p <containerPort>
将指定的容器端口映射到主机所有地址的一个动态端口
-p <hostPort>:<containerPort>
将容器端口<containerPort> 映射到指定的主机端口<hostPort>
-p <ip>::<containerPort>
将指定的容器端口<containerPort> 映射到主机指定<ip> 的动态端口
-p <ip>:<hostPort>:<containerPort>
将指定的容器端口<containerPort> 映射至主机指定<ip> 的端口<hostPort>
动态端口指随机端口,可以使用docker port命令查看具体映射结果
-P 暴露所有端口(所有端口指构建镜像时EXPOSE的端口)
自定义docker0桥的网络属性信息:/etc/docker/daemon.json文件
{
"bip": "192.168.1.5/24",
"fixed-cidr": "10.20.0.0/16",
"fixed-cidr-v6": "2001:db8::/64",
"mtu": 1500,
"default-gateway": "10.20.1.1",
"default-gateway-v6": "2001:db8:abcd::89",
"dns": ["10.20.1.2","10.20.1.3"]
}
核心选项为bip,即bridge ip之意,用于指定docker0桥自身的IP地址;其它选项可通过此地址计算得出
远程连接
创建自定义的桥
docker network create -d bridge --subnet "172.26.0.0/16" --gateway "172.26.0.1" mybr0