Настроить

По умолчанию демон Docker прослушивает подключения к сокету Unix, чтобы принимать запросы от локальных клиентов. Можно разрешить Docker принимать запросы от удаленных хостов, настроив его на прослушивание IP-адреса и порта, а также сокета Unix. Для получения более подробной информации об этом параметре конфигурации см. Справочник по интерфейсу командной строки dockerd.

Предупреждение

Защитите свое соединение

Перед настройкой Docker для приема подключений от удаленных хостов крайне важно понимать последствия для безопасности открытия Docker в сети. Если не принять меры для защиты соединения, удаленные пользователи без полномочий root могут получает доступ с правами root на хосте. Для получения дополнительной информации о том, как использовать сертификаты TLS для защиты этого соединения, проверяет Защитите сокет демона Docker.

Вы можете настроить Docker для приема удаленных подключений. Это можно сделать с помощью юнит-файла docker.service systemd для дистрибутивов Linux, использующих systemd. Или вы можете использовать файл daemon.json, если ваш дистрибутив не использует systemd.

Примечание

systemd против daemon.json

Настройка Docker для прослушивания подключений с использованием как файла модуля systemd, так и файла daemon.json вызывает конфликт, который препятствует запуску Docker.

Настройка удаленного доступа с помощью юнит-файла systemd

  1. Используйте команду sudo systemctl edit docker.service, чтобы открывает файл замены для docker.service в текстовом редакторе.

  2. Добавляет или изменяет следующие строки, заменив свои значения.

[Service]
    ExecStart=
    ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375
  1. Сохраняет файл.

  2. Перезагрузите конфигурацию systemctl.

$ sudo systemctl daemon-reload
  1. Перезапустите Докер.

$ sudo systemctl restart docker.service
  1. Убедиться, что изменение прошло.

$ sudo netstat -lntp | grep dockerd    tcp        0      0 127.0.0.1:2375          0.0.0.0:*               LISTEN      3758/dockerd

Настройка удаленного доступа с помощью daemon.json

  1. Устанавливает массив hosts в /etc/docker/daemon.json для подключения к сокету Unix и IP-адресу следующим образом:

{      "hosts": ["unix:///var/run/docker.sock", "tcp://127.0.0.1:2375"]    }
  1. Перезапустите Докер.

  2. Убедиться, что изменение прошло.

$ sudo netstat -lntp | grep dockerd

tcp        0      0 127.0.0.1:2375          0.0.0.0:*               LISTEN      3758/dockerd