Как изменить порт реестра Docker: несколько методов с примерами кода

Чтобы изменить порт реестра Docker, вам необходимо изменить файл конфигурации демона Docker. Вот несколько методов, которые можно использовать для достижения этой цели, а также примеры кода:

Метод 1. Измените файл конфигурации демона Docker (Linux)

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

  2. Добавьте или измените раздел "registry-mirrors"в файле конфигурации, включив в него новый порт. Например, если вы хотите изменить порт на 5000, конфигурация должна выглядеть так:

{
  "registry-mirrors": ["http://localhost:5000"]
}
  1. Сохраните изменения в файле конфигурации.

  2. Перезапустите демон Docker, чтобы применить изменения. Это можно сделать, выполнив следующую команду:

sudo systemctl restart docker

Способ 2. Измените файл конфигурации демона Docker (Windows)

  1. Откройте настройки Docker, щелкнув правой кнопкой мыши значок Docker на панели задач и выбрав «Настройки».

  2. Перейдите на вкладку «Демон».

  3. В разделе «Зеркала реестра» добавьте или измените URL-адрес зеркала реестра, включив в него новый порт. Например, если вы хотите изменить порт на 5000, URL-адрес должен выглядеть следующим образом:

http://localhost:5000
  1. Нажмите «Применить», чтобы сохранить изменения.

  2. Перезапустите демон Docker, чтобы изменения вступили в силу.

Метод 3. Использование переменных среды

Вы также можете изменить порт реестра Docker, задав переменную среды DOCKER_HOST. Этот метод может быть полезен, если вы хотите временно изменить порт без изменения файлов конфигурации.

В Linux вы можете запустить следующую команду, чтобы установить переменную среды:

export DOCKER_HOST="tcp://localhost:5000"

В Windows вы можете запустить следующую команду в PowerShell:

$env:DOCKER_HOST="tcp://localhost:5000"

Помните, что этот метод повлияет только на текущий сеанс оболочки и не будет сохраняться при перезагрузках.