После очередного обновления docker
-а столкнулся с неприятной ситуацией когда попытка подключиться к docker
-у удалённо приводила просто к зависанию клиента.
Итак изначально docker
ставился в CentOS 7
по умолчанию, никаких особых настроек не было сделано и всё работало. Но в связи с возникшей проблемой пришлось таки разбираться как же скормить ему опции для запуска.
В CentOS начиная с версии 7 запуск демонов производится через systemd
. Соответственно вся настройка должна выполняться именно через unit файлы systemd
.
Итак создаём Unit файл для докера:
1 | $ sudo mkdir -p /etc/systemd/system/docker.service.d |
В созданный файл записываем следующее содержимое:
1 | [Service] |
Пустой ExecStart=
обязателен — он как бы говорит нам не использовать значение ExecStart
системного unit-файла. А уже повторный вызов устанавливает новое значение.
-H fd://
позволяетsystemd
общаться сdocker
-ом, без этого невозможно удалённое подключение-H unix:///var/run/docker.sock
позволяет подключаться к докеру его собственным процессам, без этого не могут стартовать процессы докера
В дефолтном unit-файле докера запуск dockerd
производится без параметров и видимо настройки по умолчанию не создают сокет для systemd
(-H fd://
).
Комментарии