mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
![Sebastiaan van Stijn](/assets/img/avatar_default.png)
We need to add delegate yes to docker's service file so that it can manage the cgroups of the processes that it launches without systemd interfering with them and moving the processes after it is reloaded. Delegate= Turns on delegation of further resource control partitioning to processes of the unit. For unprivileged services (i.e. those using the User= setting), this allows processes to create a subhierarchy beneath its control group path. For privileged services and scopes, this ensures the processes will have all control group controllers enabled. This is the proper fix for issue moby/moby#20152 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
38 lines
1.4 KiB
Desktop File
38 lines
1.4 KiB
Desktop File
[Unit]
|
|
Description=Docker Application Container Engine
|
|
Documentation=https://docs.docker.com
|
|
BindsTo=containerd.service
|
|
After=network-online.target firewalld.service
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
# Install containerd-shim-process if it's not already installed
|
|
ExecStartPre=/usr/libexec/containerd-offline-installer /var/lib/containerd-offline-installer/containerd-shim-process.tar docker.io/docker/containerd-shim-process
|
|
|
|
# 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
|
|
ExecStopPost=/usr/bin/dockerd post-stop
|
|
TimeoutSec=0
|
|
RestartSec=2
|
|
Restart=always
|
|
# On RPM Based distributions PATH isn't defined so we define it here
|
|
# /opt/containerd/bin is in front so dockerd grabs the correct runc binary
|
|
Environment="PATH=/opt/containerd/bin:/sbin:/usr/bin:/usr/local/bin:$PATH"
|
|
|
|
# Having non-zero Limit*s causes performance problems due to accounting overhead
|
|
# in the kernel. We recommend using cgroups to do container-local accounting.
|
|
LimitNOFILE=infinity
|
|
LimitNPROC=infinity
|
|
LimitCORE=infinity
|
|
|
|
# Comment TasksMax if your systemd version does not supports it.
|
|
# Only systemd 226 and above support this option.
|
|
TasksMax=infinity
|
|
|
|
# set delegate yes so that systemd does not reset the cgroups of docker containers
|
|
Delegate=yes
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|