[Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com {% if ansible_os_family == "RedHat" %} After=network.target docker-storage-setup.service Wants=docker-storage-setup.service {% elif ansible_os_family == "Debian" %} After=network.target docker.socket Wants=docker.socket {% elif ansible_os_family == "Suse" %} After=network.target containerd.socket containerd.service Requires=containerd.socket containerd.service {% endif %} [Service] Type=notify {% if docker_storage_options is defined %} Environment="DOCKER_STORAGE_OPTIONS={{ docker_storage_options }}" {% endif %} Environment=GOTRACEBACK=crash ExecReload=/bin/kill -s HUP $MAINPID Delegate=yes KillMode=process ExecStart={{ docker_bin_dir }}/docker{% if installed_docker_version.stdout|version_compare('17.03', '<') %} daemon{% else %}d{% endif %} \ {% if ansible_os_family == "Suse" %} --containerd /run/containerd/containerd.sock --add-runtime oci=/usr/bin/docker-runc \ {% endif %} $DOCKER_OPTS \ $DOCKER_STORAGE_OPTIONS \ $DOCKER_NETWORK_OPTIONS \ $DOCKER_DNS_OPTIONS \ $INSECURE_REGISTRY {% if not is_atomic and systemd_version.stdout|int >= 226 %} TasksMax=infinity {% endif %} LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity TimeoutStartSec=1min # restart the docker process if it exits prematurely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target