(用了编排之后就没有用了)
docker安装后,默认会创建三种网络类型,bridge、host和none
显示当前网络:
# docker network list
NETWORK ID NAME DRIVER SCOPE
90b22f633d2f bridge bridge local
e0b365da7fd2 host host local
da7b7a090837 none null local
docker的四种网络方式:
1.bridge:网络桥接
默认情况下启动、创建容器都是用该模式,所以每次docker容器重启时会按照顺序获取对应ip地址,这就导致容器每次重启,ip都发生变化
2.none:无指定网络
启动容器时,可以通过--network=none,docker容器不会分配局域网ip
3.host:主机网络
docker容器的网络会附属在主机上,两者是互通的。
创建固定ip容器
1)、创建自定义网络类型,并且指定网段
#docker network create --subnet=192.168.0.0/16 staticnet
通过docker network ls可以查看到网络类型中多了一个staticnet
2)、使用新的网络类型创建并启动容器
#docker run -it --name userserver --net staticnet --ip 192.168.0.2 centos:6 /bin/bash
通过docker inspect可以查看容器ip为192.168.0.2,关闭容器并重启,发现容器ip并未发生改变
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用host网络创建容器:
# docker run -it --name testnginx1 --net host 27a18801 /bin/bash
使用编排工具就不会再单独去设置某一个容器的IP了