Как использовать команду docker desktop enable model-runner для управления настройками Model Runner

DockerDockerBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этой лабораторной работе вы научитесь управлять настройками Docker Model Runner с помощью команды model-runner в Docker Desktop. Мы рассмотрим включение прослушивания TCP-порта по умолчанию для демона Docker, настройку прослушивания на пользовательском TCP-порту и, наконец, отключение TCP-соединения для Docker Model Runner.

В ходе практических шагов вы измените конфигурационный файл демона Docker (daemon.json), чтобы управлять сетевыми интерфейсами, на которых работает демон, перезапустите службу Docker для применения изменений и поймете последствия включения или отключения TCP-соединений для удаленного доступа и безопасности.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/restart("Restart Container") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555140{{"Как использовать команду docker desktop enable model-runner для управления настройками Model Runner"}} docker/restart -.-> lab-555140{{"Как использовать команду docker desktop enable model-runner для управления настройками Model Runner"}} docker/system -.-> lab-555140{{"Как использовать команду docker desktop enable model-runner для управления настройками Model Runner"}} end

Включение Docker Model Runner с TCP-портом по умолчанию

На этом шаге мы узнаем, как настроить демон Docker для прослушивания соединений на стандартном TCP-порте. По умолчанию демон Docker использует Unix-сокет, что более безопасно для локального доступа. Однако для удаленного доступа или специальных сценариев может потребоваться включение TCP.

Чтобы включить прослушивание TCP-порта демоном Docker, необходимо изменить его конфигурационный файл. Основной файл конфигурации Docker обычно находится по пути /etc/docker/daemon.json. Если файл не существует, его можно создать.

Сначала проверим наличие файла daemon.json с помощью команды ls:

ls /etc/docker/daemon.json

Если файл существует, команда выведет его путь. Если файл отсутствует, вы увидите сообщение об ошибке.

Теперь отредактируем или создадим файл /etc/docker/daemon.json с помощью редактора nano. Добавим или изменим ключ hosts, включив в него TCP-адрес и порт. Стандартные TCP-порты для Docker — 2375 (без шифрования) и 2376 (с TLS-шифрованием). Для этого примера используем незашифрованный порт 2375.

Откроем файл в nano:

sudo nano /etc/docker/daemon.json

Если файл пуст или не существует, добавим следующее содержимое. Если файл уже содержит данные, добавим или изменим ключ hosts, включив "tcp://0.0.0.0:2375". Запись unix:///var/run/docker.sock гарантирует, что демон продолжит прослушивать Unix-сокет.

{
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}

После внесения изменений сохраним файл, нажав Ctrl + X, затем Y для подтверждения и Enter для записи.

Чтобы изменения вступили в силу, необходимо перезапустить службу Docker с помощью команды systemctl:

sudo systemctl restart docker

После перезапуска можно проверить, что демон прослушивает TCP-порт, используя команду ss:

sudo ss -tuln | grep 2375

Если демон Docker успешно прослушивает порт 2375, вы увидите вывод, аналогичный этому:

tcp   LISTEN 0      4096   0.0.0.0:2375      0.0.0.0:*

Это подтверждает, что демон Docker теперь доступен через TCP на порту 2375.

Включение Docker Model Runner с пользовательским TCP-портом

В предыдущем шаге мы настроили демон Docker для прослушивания стандартного TCP-порта 2375. В этом шаге мы научимся настраивать демон Docker для работы с пользовательским TCP-портом вместо стандартного. Это может быть полезно для повышения безопасности или избежания конфликтов портов.

Снова изменим файл /etc/docker/daemon.json, заменив порт 2375 на пользовательский, например, 2376.

Откроем файл daemon.json в редакторе nano:

sudo nano /etc/docker/daemon.json

Изменим ключ hosts, заменив порт 2375 на 2376. Содержимое файла должно выглядеть так:

{
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"]
}

Сохраним файл, нажав Ctrl + X, затем Y для подтверждения и Enter для записи.

После изменения конфигурации необходимо перезапустить службу Docker для применения изменений:

sudo systemctl restart docker

Теперь проверим, что демон Docker прослушивает новый пользовательский порт 2376 и больше не использует стандартный порт 2375. Снова воспользуемся командой ss.

Сначала проверим порт 2376:

sudo ss -tuln | grep 2376

Вы должны увидеть вывод, указывающий на прослушивание порта 2376:

tcp   LISTEN 0      4096   0.0.0.0:2376      0.0.0.0:*

Затем убедимся, что порт 2375 больше не используется:

sudo ss -tuln | grep 2375

Эта команда не должна выводить никаких данных, что подтвердит отключение порта 2375.

Это подтверждает успешную настройку демона Docker для работы с пользовательским TCP-портом.

Отключение TCP-подключения для Docker Model Runner

В предыдущих шагах мы настроили демон Docker для прослушивания стандартного и пользовательского TCP-портов. Хотя TCP-подключение может быть полезно для удаленного доступа, для повышения безопасности рекомендуется отключать его, когда оно не требуется, и использовать стандартный Unix-сокет для локального взаимодействия.

В этом шаге мы научимся отключать TCP-подключение для демона Docker, удалив соответствующую запись из конфигурационного файла.

Снова отредактируем файл /etc/docker/daemon.json с помощью редактора nano.

Откроем файл daemon.json:

sudo nano /etc/docker/daemon.json

Изменим ключ hosts, удалив TCP-запись ("tcp://0.0.0.0:2376" или "tcp://0.0.0.0:2375" в зависимости от предыдущего шага). Содержимое файла должно включать только запись о Unix-сокете:

{
  "hosts": ["unix:///var/run/docker.sock"]
}

Сохраним файл, нажав Ctrl + X, затем Y для подтверждения и Enter для записи.

После изменения конфигурации необходимо перезапустить службу Docker для применения изменений:

sudo systemctl restart docker

Теперь проверим, что демон Docker больше не прослушивает TCP-порты. Используем команду ss для проверки портов 2375 и 2376.

Проверим порт 2375:

sudo ss -tuln | grep 2375

Эта команда не должна выводить никаких данных.

Проверим порт 2376:

sudo ss -tuln | grep 2376

Эта команда также не должна выводить никаких данных.

Это подтверждает успешное отключение TCP-подключения для демона Docker. Теперь демон доступен только через стандартный Unix-сокет, что является более безопасной конфигурацией по умолчанию для локального доступа.

Итоги

В этой лабораторной работе мы изучили, как управлять настройками Docker Model Runner, включая и отключая TCP-подключения для демона Docker. Мы начали с настройки демона Docker для прослушивания стандартного TCP-порта 2375 путем изменения конфигурационного файла /etc/docker/daemon.json - добавления "tcp://0.0.0.0:2375" в массив hosts с последующим перезапуском службы Docker.

Также в работе рассмотрено, как настроить демон Docker с пользовательским TCP-портом и как полностью отключить TCP-подключения, удалив соответствующую запись из массива hosts в файле daemon.json и перезапустив службу Docker. Эти шаги демонстрируют, как можно настроить доступность Docker по сети для различных сценариев использования.