Отправка списка манифестов в небезопасный реестр
На этом этапе мы узнаем, как отправить список манифестов в небезопасный реестр. Небезопасный реестр - это реестр, который не использует сертификаты TLS/SSL. Использование таких реестров не рекомендуется в производственных средах, но они могут быть полезны для тестирования или внутренних сетей.
По умолчанию Docker требует безопасных соединений с реестрами. Чтобы отправить данные в небезопасный реестр, вам нужно настроить демон Docker так, чтобы он разрешал небезопасные соединения с конкретным адресом реестра.
В рамках этого практического занятия (лабораторной работы) мы имитируем небезопасный реестр, используя локальный реестр, работающий без TLS. Сначала запустим контейнер локального реестра. Мы сопоставим порт 5000 на хосте с портом 5000 в контейнере.
docker run -d -p 5000:5000 --name registry registry:2
Вы должны увидеть вывод, похожий на этот, который указывает, что контейнер запущен:
Unable to find image 'registry:2' locally
2: Pulling from library/registry
...
Status: Downloaded newer image for registry:2
a1b2c3d4e5f6...
Теперь нам нужно настроить демон Docker так, чтобы он доверял этому небезопасному реестру по адресу localhost:5000
. Для этого необходимо изменить файл конфигурации демона Docker. Расположение этого файла может различаться, но на большинстве систем Linux он находится по пути /etc/docker/daemon.json
.
Мы будем использовать sudo nano
для редактирования этого файла.
sudo nano /etc/docker/daemon.json
Если файл не существует, вы можете его создать. Добавьте или измените ключ insecure-registries
, чтобы он включал localhost:5000
. Содержимое файла должно выглядеть следующим образом:
{
"insecure-registries": ["localhost:5000"]
}
Сохраните файл и выйдите из редактора (Ctrl+X, Y, Enter в nano).
После изменения конфигурации вам нужно перезапустить демон Docker, чтобы изменения вступили в силу.
sudo systemctl restart docker
Теперь вы можете пометить список манифестов адресом небезопасного реестра и отправить его. Мы будем использовать список манифестов my-alpine:latest
, созданный на первом этапе.
docker manifest create localhost:5000/my-alpine:latest alpine:latest arm64v8/alpine:latest
docker manifest push localhost:5000/my-alpine:latest
Вы должны увидеть вывод, указывающий на успешную отправку, даже несмотря на то, что реестр небезопасен.
Pushed manifest list localhost:5000/my-alpine:latest
Это демонстрирует, как отправить список манифестов в небезопасный реестр после настройки демона Docker.