首页 > 解决方案 > 无法编辑 systemd 服务文件

问题描述

需要编辑以下条目:

[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
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

/lib/systemd/system/docker.service文件中


$ sudo -E systemctl edit docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2376 --containerd=/run/containerd/containerd.sock

重启后没有更新服务文件(sudo systemctl restart docker.service


编辑

在 AWS EC2 上,问题如下:

$ nano /etc/systemd/system/docker.service.d/override.conf
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

/lib/systemd/system/docker.service仍然显示未修改


1) 编辑服务文件( ) 的推荐方法是什么docker.service

2) 为什么/lib/systemd/system/docker.service不能直接编辑?

标签: linuxdockeramazon-ec2systemd

解决方案


您需要为docker.service.

  • 创建/etc/systemd/system/docker.service.d/override.conf包含内容的文件
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2376 --containerd=/run/containerd/containerd.sock
  • 重新加载 systemd 单元文件。
systemctl daemon-reload

注意:根据 systemd 设计编辑任何 systemd 单元文件后,需要重新加载 systemctl 守护程序。有关更多信息,请查看

  • 重新启动 docker 守护进程。
systemctl restart docker

您需要重新启动 docker daemon 以获取最新更新的 systemd 单元文件。

有关更多信息,请查看


推荐阅读