docker安装后,默认会创建三种网络类型,bridge、host和none,可通过如下命令查看
sudo docker network ls
bridge:网络桥接
默认情况下启动、创建容器都是用该模式,所以每次docker容器重启时会按照顺序获取对应ip地址,这就导致容器每次重启,ip都发生变化
none:无指定网络
启动容器时,可以通过–network=none,docker容器不会分配局域网ip
host:主机网络
docker容器的网络会附属在主机上,两者是互通的。
创建固定ip容器
1、创建自定义网络类型,并且指定网段
docker network create --subnet=192.168.0.0/16 mynetwork
通过docker network ls可以查看到网络类型中多了一个mynetwork
2、使用新的网络类型创建并启动容器
docker run -itd --name userserver --net mynetwork --ip 192.168.0.2 docker.io/centos /bin/bash
通过docker inspect可以查看容器ip为192.168.0.2,关闭容器并重启,发现容器ip并未发生改变
进入centos容器
docker attach bce6d9a692b2
从容器退出,但不停止容器
Ctrl+P+Q
centos默认没有ifconfig命令,配置ifconfig
1)yum search ifconfig
2)yum install net-tools.x86_64
ifconfig这时候就OK了