Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题

时间:2022-06-10 20:58:40

默认情况下,/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

?
1
2
#修改配置文件
vi /usr/lib/systemd/system/docker.service
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[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参数

?
1
2
3
4
#重载
systemctl daemon-reload
#重启docker服务
service docker restart

Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题

docker环境配置文件

?
1
2
3
4
5
vi /etc/sysconfig/docker
docker_opts="-b=br0"
 
#或者直接写数据
 echo 'docker_opts="-b=br0"' >> /etc/default/docker

docker自定义网桥

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#安装网桥工具
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

修改成功 后的网桥信息

Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题

查看网桥数据

Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题

网桥修改成功后,网卡的网段和子网掩码都修改了

Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/yelllowcong/article/details/76405191