ImagePullBackOff локальный репозиторий с помощью Minikube

Я пытаюсь использовать minikube и kitematic для тестирования кубернетов на моей локальной машине. Однако кубернеты не могут вытащить изображение в моем локальном репозитории (ImagePullBackOff).

Я пытаюсь решить эту проблему: невозможно извлечь изображение докеры из частного репо при использовании Minikube

Но у меня нет /etc/init.d/docker, я думаю, это из-за кинематики? (Я на OS X)

Есть идеи?

Спасибо

РЕДАКТИРОВАТЬ :

Я установил https://github.com/docker/docker-registry и

docker tag local-image-build localhost:5000/local-image-build

docker push localhost:5000/local-image-build

В моем кубернете ямль содержится:

spec:
  containers:
  - name: backend-nginx
    image: localhost:5000/local-image-build:latest
    imagePullPolicy: Always

Но он все еще не работает... Журналы:

Error syncing pod, skipping: failed to "StartContainer" 
for "backend-nginx" with ErrImagePull: "Error while pulling image: 
Get http://127.0.0.1:5000/v1/repositories/local-image-build/images: 
dial tcp 127.0.0.1:5000: getsockopt: connection refused

EDIT 2:

Я не знаю, нахожусь ли я на хорошем пути, но я нахожу это:

http://kubernetes.io/docs/user-guide/images/

Но я не знаю, что такое мой DOCKER_USER...

kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL

ИЗМЕНИТЬ 3

теперь я добрался до своего стручка:

Failed to pull image "local-image-build:latest": Error: image library/local-image-build not found
Error syncing pod, skipping: failed to "StartContainer" for "backend-nginx" with ErrImagePull: "Error: image library/local-image-build not found"

Помоги мне, я схожу с ума.

EDIT 4

Error syncing pod, skipping: failed to "StartContainer" for "backend-nginx" with ErrImagePull: "Error response from daemon: Get https://192.168.99.101:5000/v1/_ping: tls: oversized record received with length 20527"

Я добавил:

EXTRA_ARGS='
    --label provider=virtualbox
    --insecure-registry=192.168.99.101:5000

к моей конфигурации докеры, но она все еще не работает, то же сообщение....

Кстати, я сменил свой ямль:

 spec:
      containers:
      - name: backend-nginx
        image: 192.168.99.101:5000/local-image-build:latest
        imagePullPolicy: Always

И я запускаю свой реестр следующим образом:

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

Ответы

Ответ 1

Я думаю, что решил

minikube start --vm-driver="virtualbox" --insecure-registry="$REG_IP":80

а не просто

minikube start

$ REG_IP:

REG_IP=docker-machine ip registry

Источник

Ответ 2

Используйте реестр док-станции minikube вместо локального докера

https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/#create-a-docker-container-image

Установите докер, чтобы он указывал на мини-куб

eval $(minikube docker-env)

Нажмите на док-станцию minikube

docker build -t hello-node:v1.

Установите развертывание, чтобы не вытащить IfNotPresent

По умолчанию для K8S установлено значение "Всегда" на "IfNotPresent"

imagePullPolicy: IfNotPresent

Связанный выпуск

Ответ 3

Добавление --insecure-registry = "$ REG_IP": 80, похоже, не работает для меня.

Я должен использовать ответ wlredeye на Невозможно вытащить изображение докера из частного репо при использовании Minikube для его работы:

Для http-реестра эти шаги работают для меня:

  • minikube ssh
  • изменить /var/lib/boot 2docker/profile и добавить в $EXTRA_ARGS --insecure-registry 192.168.99.1(your local machine IP):5000
  • перезапустить демон докеров sudo /etc/init.d/docker restart
  • Убедитесь, что вы можете получить доступ к реестру докеров curl -s -S http://192.168.99.1/v2/_catalog

Это версия minikube: v0.14.0

Ответ 4

Сначала вам нужно запустить локальный реестр, похоже, вы это сделали.

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

Вы можете проверить свой IP-адрес minikube на ifconfig

Должен быть выход (после запуска minikube с использованием виртуального бокса в виде VMdriver):

vboxnet0 Link encap:Ethernet HWaddr 0a:00:27:00:00:00
inet addr:192.168.99.1 Bcast:192.168.99.255 Mask:255.255.255.0 inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:515 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:86256 (86.2 KB)

Используя

minikube start --insecure-registry=192.168.99.1:5000

Фактически вы можете проверить, можете ли вы потянуть свои собственные изображения просто (в пределах мини-куба)

docker pull 192.168.99.1:5000/your_own_repo/your_own_images

Надеюсь, это поможет.

Ответ 5

Я мог бы решить проблему очень странным образом:

  • Удалить мини- minikube delete
  • Удалить конфигурационные файлы minikube rm -rf ~/.minikube
  • Запуск мини- minikube start