Невозможно извлечь образы из небезопасного реестра через minikube - PullRequest
3 голосов
/ 14 июля 2020

У меня есть небезопасный локальный реестр docker, который я создал с помощью команды:

docker run -d -p 5000:5000 --restart=always --name registry registry:2` 

Я также добавил его в /etc/docker/daemon.json. Я пометил несколько изображений в формате localhost:5000/<orgname>/<imagename>:<tag> и поместил их в небезопасный реестр.

Когда я запускаю curl -X GET localhost:5000/v2/_catalog, я вижу, что они доступны в локальном реестре.

Я начал minikube командой minikube start --insecure-registry="localhost:5000". Здесь мой драйвер по умолчанию docker (я тоже пробовал с kvm2). Я также включил надстройку реестра, используя команду minikube addons enable registry

. У меня есть конфигурационная карта, в которой указано изображение в формате, о котором я упоминал ранее. Когда я применяю это с помощью kubectl, я получаю сообщение об ошибке ImagePullBackoff с сообщением об ошибке

Failed to pull image "localhost:5000/org/product:tag": rpc error: code = Unknown desc = Error response from daemon: manifest for localhost:5000/org/product:tag not found: manifest unknown: manifest unknown

Есть идеи, почему это происходит?

Docker версия: 19.03.8, build afacb8b7f0

Версия Minikube: 1.9.2

Ubuntu 20.04 LTS

Ответы [ 2 ]

1 голос
/ 14 июля 2020

Ну, minikube K8s su bnet отличается от того, что работает в вашем реестре, поэтому localhost не будет работать без некоторых настроек. Я рекомендую следовать официальному руководству minikube и не запускать:

docker run -d -p 5000:5000 --restart=always --name registry registry:2` 

По сути, он говорит, что после запуска:

minikube addons enable registry

Затем, когда вы создаете свой minikube экземпляр

minikube start --drive=docker --insecure-registry "10.0.0.0/24"
0 голосов
/ 31 июля 2020

Мне удалось решить эту проблему, заменив localhost на мой IP.

minikube start --insecure-registry="<IP-of-your-computer>:5000"

При пометке и отправке изображений в локальный реестр также нужно использовать IP вместо localhost.

...