2016-01-09 17:45:50 +08:00
|
|
|
[Unit]
|
|
|
|
Description=Docker Application Container Engine
|
|
|
|
Documentation=http://docs.docker.com
|
|
|
|
{% if ansible_os_family == "RedHat" %}
|
2016-08-02 16:55:42 +08:00
|
|
|
After=network.target docker-storage-setup.service
|
2016-01-09 17:45:50 +08:00
|
|
|
Wants=docker-storage-setup.service
|
|
|
|
{% elif ansible_os_family == "Debian" %}
|
|
|
|
After=network.target docker.socket
|
2016-08-02 16:55:42 +08:00
|
|
|
Wants=docker.socket
|
2016-01-09 17:45:50 +08:00
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=notify
|
2016-12-08 00:18:41 +08:00
|
|
|
{% if docker_storage_options is defined %}
|
2016-12-09 20:56:51 +08:00
|
|
|
Environment="DOCKER_STORAGE_OPTIONS={{ docker_storage_options }}"
|
2016-12-08 00:18:41 +08:00
|
|
|
{% endif %}
|
2016-01-09 17:45:50 +08:00
|
|
|
Environment=GOTRACEBACK=crash
|
2016-08-02 16:55:42 +08:00
|
|
|
ExecReload=/bin/kill -s HUP $MAINPID
|
|
|
|
Delegate=yes
|
|
|
|
KillMode=process
|
2017-12-19 22:47:54 +08:00
|
|
|
ExecStart={{ docker_bin_dir }}/docker{% if installed_docker_version.stdout|version_compare('17.03', '<') %} daemon{% else %}d{% endif %} \
|
2016-11-05 05:40:14 +08:00
|
|
|
$DOCKER_OPTS \
|
2016-01-09 17:45:50 +08:00
|
|
|
$DOCKER_STORAGE_OPTIONS \
|
|
|
|
$DOCKER_NETWORK_OPTIONS \
|
2016-12-22 00:18:11 +08:00
|
|
|
$DOCKER_DNS_OPTIONS \
|
2016-11-05 05:40:14 +08:00
|
|
|
$INSECURE_REGISTRY
|
2018-02-22 00:26:18 +08:00
|
|
|
{% if not is_atomic and systemd_version.stdout|int >= 226 %}
|
2016-08-02 18:42:27 +08:00
|
|
|
TasksMax=infinity
|
2017-08-10 06:49:53 +08:00
|
|
|
{% endif %}
|
2016-01-09 17:45:50 +08:00
|
|
|
LimitNOFILE=1048576
|
|
|
|
LimitNPROC=1048576
|
|
|
|
LimitCORE=infinity
|
|
|
|
TimeoutStartSec=1min
|
2018-03-07 18:36:39 +08:00
|
|
|
# restart the docker process if it exits prematurely
|
|
|
|
Restart=on-failure
|
|
|
|
StartLimitBurst=3
|
|
|
|
StartLimitInterval=60s
|
2016-01-09 17:45:50 +08:00
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|