Docker daemon and Ubuntu 16.04 with systemd
Some changes in Ubuntu distribution could impact to docker daemon settings on boot and one of that regards the options in /etc/default/docker. After many test I realize that, the file is read (the syntax must be correct) but the content is ignored.
After searching in official docs ( https://docs.docker.com/engine/admin/systemd/ ) I realize that systemd recognize only options written in /lib/systemd/system/docker.service file.
Here is the my modified config file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network.target docker.socket Requires=docker.socket [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 --tls=true --tlscert=/var/docker/server-cert.pem --tlskey=/var/docker/server-key.pem -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock -H fd:// ExecReload=/bin/kill -s HUP $MAINPID #MountFlags=slave # 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 # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process [Install] WantedBy=multi-user.target |
That’s all!