docker 设置独立centos 容器(独立IP)


创建自定义docker 网络

docker network create -d macvlan --subnet=192.168.1.0/16 --gateway=192.168.1.1 -o parent=eth0 mynet
  1. macvlan 模式 subnet(网段),gateway(网关) parent(指定物理网卡)
  2. macvlan 模式会独占物理网卡,一个物理网卡只能开启个macvlan 模式

创建centos 容器

docker run -itd --name centos7 \
--net mynet \
--ip 192.168.1.13 \
--mac-address 11:11:11:11:12 \
--privileged=true centos:7 /usr/sbin/init
  1. centos7 存在bug,所以需要-privileged=true 特殊授权和 /usr/sbin/init
  2. 容器资源是共享宿主机资源

迁移 docker

systemctl stop docker 

cp -avx  /var/lib/docker /home/username/docker

vim /usr/lib/systemd/system/docker.service

# 在合适位置加上这个
ExecStart=/usr/bin/dockerd --graph=/home/username/docker

# 重新加载配置
systemctl daemon-reload
# 重启 Docker 引擎
systemctl restart docker

docker info  查看 root dir 是否已经更新