刚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
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