docker在安装后会默认创建三种网络类型,分别是bridge桥接网络,none无指定网络和host主机网络,在默认情况下启动Docker容器使用的是桥接网络,并且使用网络IP段是172.17.0.1/24,有时为了防止ip冲突可以对默认ip地址修改。
使用docker network ls命令可以查看默认创建的网络类型:
bridge:桥接网络
默认情况下启动的Docker容器,都是使用 bridge,Docker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启下,Docker的IP地址就变了
none:无指定网络
使用 --network=none ,docker 容器就不会分配局域网的IP,这种适合不需要分配IP的情况。
host: 主机网络
使用 --network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。
例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中。
使用docker network create --subnet=172.23.0.0/16 mynetwork创建自定义网络
创建使用自定义网络的容器:
docker run -itd --name networkTest1 --net mynetwork --ip 172.18.0.2 centos:latest /bin/bash
查看容器的ip:
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'networkTest1
本文源自TechWeb.com.cn