默认情况下,/etc/default/docker配置了不会生效的,我们需要手动添加到docker的环境设定中,需要配置的文件是/usr/lib/systemd/system/docker.service
,需要添加EnvironmentFile=-/etc/default/docker
,让后在ExecStart这个配置中,添加引用的参数$DOCKER_OPTS
。置网桥的时候,我们在/etc/default/docker
里添加了DOCKER_OPTS参数,但是DOCKER_OPTS参数不生效问题,网上给的教程太坑了,可能是因为他们是老版本的Docker问题和环境不一样的问题,修改了,根本不生效,当时菊花就疼了,
docker.service
配置docker.service的时候,EnvironmentFile的文件默认配置了/etc/sysconfig/docker
(基本配置)、/etc/sysconfig/docker-storage
(存储)、/etc/sysconfig/docker-network
(网络),我们想要/etc/default/docker
生效,我们就需要添加EnvironmentFile=-/etc/default/docker
,让后在ExecStart这个配置中,添加引用的参数$DOCKER_OPTS
,下面就是我的配置文件/usr/lib/systemd/system/docker.service
#修改配置文件
vi /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service
Requires=docker-cleanup.timer
[Service]
Type=notify
NotifyAccess=all
KillMode=process
#添加我们自定义的配置文件
EnvironmentFile=-/etc/default/docker #添加配置文件,(-代表ignore error)
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY \
$DOCKER_OPTS #需要引用的参数,也是网卡设定参数
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
Restart=on-abnormal
MountFlags=slave
[Install]
WantedBy=multi-user.target
EnvironmentFile=-/etc/default/docker
修改以后,需要重载,然后重启服务才可以使用/etc/default/docker里定义的DOCKER_OPTS参数
#重载
systemctl daemon-reload
#重启docker服务
service docker restart
docker环境配置文件
vi /etc/sysconfig/docker
DOCKER_OPTS="-b=br0"
#或者直接写数据
echo 'DOCKER_OPTS="-b=br0"' >> /etc/default/docker
docker自定义网桥
#安装网桥工具
yum install bridge-utils
#添加网桥
brctl addbr br0
#查看网桥
brctl show
#设定网桥地址和子网掩码
ifconfig br0 192.168.110.1 netmask 255.255.255.0
#设定网桥
echo 'DOCKER_OPTS="-b=br0"' >> /etc/default/docker
#配置docker
vi /usr/lib/systemd/system/docker.service
#添加我们自己的配置文件
EnvironmentFile=-/etc/sysconfig/docker
#应用参数
ExecStart=/usr/bin/dockerd-current \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY \
$DOCKER_OPTS #添加网桥的参数
#重载
systemctl daemon-reload
#重启docker服务
service docker restart
修改成功 后的网桥信息
查看网桥数据
网桥修改成功后,网卡的网段和子网掩码都修改了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。