docker-ce 18.09 systemd unit 調整

介紹

Docker 從 18.09 版本之後調整了 systemd unit file 的 ExecStart= 的啟動模式,這造成了如果有使用 /etc/docker/daemon.json 做客制設定會無法啟動,因為啟動模式衝突了

修改方案

  1. 建立一個 docker systemd unit file 的 override 檔案 /etc/systemd/system/docker.service.d/override.conf);
  2. [service] section 加入這些內容
# This line resets / "removes" the original ExecStart as was defined in the main systemd unit file
ExecStart=

# This line defines the new ExecStart to use _instead_
ExecStart=/usr/bin/dockerd
  1. 重啟服務
systemctl daemon-reload
systemctl restart docker

Reference:
https://github.com/moby/moby/issues/22339