Commands: connect Connect a container to a network create Create a network disconnect Disconnect a container from a network inspect Display detailed information on one or more networks ls List networks prune Remove all unused networks rm Remove one or more networks
Run 'docker network COMMAND --help'for more information on a command.
brctl show bridge name bridge id STP enabled interfaces docker0 8000.0242c73708e8 no vethf75a942
创建一个网络为bridge类型的容器,不指定默认也是这个类型
1
docker run -d --network bridge --name centos1 baishuming2020/centos_nginx
host
容器和真机共用网卡及对应的端口,缺点就是同一个端口只能宿主机或者某个容器使用,其他容器不能用。
创建一个网络类型host的容器
1
docker run -d --network host --name centos2 baishuming2020/centos_nginx
none
容器仅有lo网卡,是一个不能联网的本地容器
创建一个网络类型为lo的容器
1
docker run -d --network none --name centos3 baishuming2020/centos_nginx
实现网桥网络
目的:不同的服务容器组应用不同的网桥,避免同一网络内容器太多,保持容器网络独立性。
关于新网桥联网问题:创建网桥后,宿主机会自动帮你做NAT,所以不用担心联网问题
查看网络-ls
1 2 3 4 5 6 7 8 9 10 11 12
docker network ls NETWORK ID NAME DRIVER SCOPE 80982d2613cd bridge bridge local 40c179ab420a docker1 bridge local 04aadb7475c0 docker100 bridge local ce79e9d7525a host host local 8f0358469e57 none null local
docker network ls NETWORK ID NAME DRIVER SCOPE 6ee1e928b710 bridge bridge local ce79e9d7525a host host local 6a410e27b66e mydocker0 bridge local 8f0358469e57 none null local
修改docker网桥名字 1、关闭新建网桥
1
ip linkset dev br-6a410e27b66e down
2、修改名字
1
ip linkset dev br-6a410e27b66e name mydocker0
3、启动网桥
1
ip linkset dev mydocker0 up
4、重启docker服务
1
systemctl restart docker
删除未使用的网桥-prune
1 2 3 4 5
docker network prune WARNING! This will remove all networks not used by at least one container. Are you sure you want to continue? [y/N] y Deleted Networks: docker1
docker run -d --network docker100 --name centos4 baishuming2020/centos_nginx WARNING: IPv4 forwarding is disabled. Networking will not work. 67f2c276123c993cd66b9d7a99ba22402331a13f9ea8817e57324a934896b805