Docker CentOS 7

При установке Docker из офф. репозитория (статья на docs.docker.com), устанавливается systemd скрипт не поддерживающий добавления дополнительных опций инициализации демона через файлы /etc/sysconfig/docker и /etc/default/docker, использование которых описано во многих статьях документации и гайдах (настройка DNS и т.д.).
cat /usr/lib/systemd/system/docker.service

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/docker daemon -H fd://
/* skip */

[Install]
WantedBy=multi-user.target

Для исправления этого неудобства необходимо инит скрипт привести к такому виду
cat /etc/systemd/system/docker.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
# Указываем путь к файлу
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/docker daemon $DOCKER_OPTS -H fd://
/* skip */

[Install]
WantedBy=multi-user.target

После в файле /etc/default/docker можно указать доп. опции инициализации сервиса, к примеру
cat /etc/default/docker

1
DOCKER_OPTS="--dns=172.17.0.1 --dns=8.8.8.8 --dns=8.8.4.4"

В принципе не знаю это нормальная ситуация и оно так везде или только проблема в CentOS офф. репозитории.
Статья на офф. сайте по конфигурации Docker - Control and configure Docker with systemd.

Комментарии