刚Yum装完发现是没有网上所说的/etc/default/docker文件的,自己vim后其实也是不生效的。
因为Docker的systemd启动脚本(/usr/lib/systemd/system/docker.service),默认是没有加载到环境变量中的。
#查看配置文件
cat /usr/lib/systemd/system/docker.service
#以下是修改后的文件内容,加了2行
[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
添加的2行说明:
1. 加载的配置文件
EnvironmentFile=-/etc/default/docker
2. 然后在ExecStart这个配置中,添加引用的参数,另外此前一行结尾要加 \
$DOCKER_OPTS
自定义的docker环境配置文件
cat /etc/default/docker
#选择网桥
#DOCKER_OPTS="-b=br0"
#指定DNS
# DOCKER_OPTS="--dns 114.114.114.114 --dns 8.8.8.8"
# 更改docker0网卡的默认网络参数
DOCKER_OPTS="--bip 10.0.129.1/24"
#重载
systemctl daemon-reload
#重启docker服务
systemctl restart docker
#查看 docker 启动状态
systemctl status docker