docker18.09.3修改守护进程配置文件不生效问题
docker18.09.3修改守護進程配置文件不生效問題
在/etc/default/docker下添加DOCKER_OPTS選項,使用docker info或ps -ef | grep docker檢查配置文件不生效
網上主要有兩種解決方法單這兩種方法都是老版本docker的解決方法,對于docker18以后的版本不適用
1、修改/usr/lib/systemd/system/docker.service這個文件,?
在[Service]下添加?EnvironmentFile=-/etc/default/docker,在ExecStart末尾增加?$DOCKER_OPTS?,但其實在docker19后的版本中/usr/lib/systemd下并沒有system目錄。
2、創建/etc/systemd/system/docker.service.d/Using_Environment_File.conf 這個文件,然后寫入以下內容:?
[Service]?
EnvironmentFile=-/etc/default/docker?
ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS?
這個也和上邊原因一樣,是老版本的解決方法,對于docker19并不適用
解決方法:
其實網上的第一種方法沒有錯只是在docker19中docker.service文件從/usr/lib/systemd/system/docker.service移到了/lib/systemd/system/docker.service,
所以打開/lib/systemd/system/docker.service文件,修改[service]欄,在[service]欄添加EnvironmentFile=-/etc/default/docker和在ExecStart=/usr/bin/dockerd?-H?fd://后添加$DOCKER_OPTS,注意有空格不然會報錯。
[Service]
Type=notify
#?the?default?is?not?to?use?systemd?for?cgroups?because?the?delegate?issues?still
#?exists?and?systemd?currently?does?not?support?the?cgroup?feature?set?required
#?for?containers?run?by?docker
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd?-H?fd://?$DOCKER_OPTS?--containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill?-s?HUP?$MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
代碼段如下:
[Service] Type=notify #?the?default?is?not?to?use?systemd?for?cgroups?because?the?delegate?issues?still #?exists?and?systemd?currently?does?not?support?the?cgroup?feature?set?required #?for?containers?run?by?docker EnvironmentFile=-/etc/default/docker ExecStart=/usr/bin/dockerd?-H?fd://?$DOCKER_OPTS?--containerd=/run/containerd/containerd.sock ExecReload=/bin/kill?-s?HUP?$MAINPID TimeoutSec=0 RestartSec=2 Restart=always修改后重載docker配置文件?sudo systemctl daemon-reload?,重啟docker服務?sudo service docker restart,
使用docker info或ps -ef | grep docker檢查配置文件,發現已生效。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的docker18.09.3修改守护进程配置文件不生效问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你应该学习的 20 个 Python 代
- 下一篇: 逼自己玩命学了6个多月,吃透了这19个架