[Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com After=network.target lvm2-monitor.service firewalld.service # We don't use the docker socket activation, but doing this ensures that the # docker.socket unit is alive while Docker is (docker.socket has BindsTo, so we # only need a weak requirement to make sure starting docker.service also # "starts" the socket service). Forcefully stopping docker.socket will not # cause docker to die, but there's no nice workaround for that. Wants=docker.socket [Service] EnvironmentFile=/etc/sysconfig/docker # While Docker has support for socket activation (-H fd://), this is not # enabled by default because enabling socket activation means that on boot your # containers won't start until someone tries to administer the Docker daemon. Type=notify ExecStart=/usr/bin/dockerd --add-runtime oci=/usr/sbin/docker-runc $DOCKER_NETWORK_OPTIONS $DOCKER_OPTS ExecReload=/bin/kill -s HUP $MAINPID # 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=1048576 LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this property. TasksMax=infinity # Set delegate yes so that systemd does not reset the cgroups of docker containers # Only systemd 218 and above support this property. Delegate=yes # Kill only the docker process, not all processes in the cgroup. KillMode=process # Restart the docker process if it exits prematurely. Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target