Ответ 1
Я думаю, что решил
minikube start --vm-driver="virtualbox" --insecure-registry="$REG_IP":80
а не просто
minikube start
$ REG_IP:
REG_IP=docker-machine ip registry
Я пытаюсь использовать 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
Я думаю, что решил
minikube start --vm-driver="virtualbox" --insecure-registry="$REG_IP":80
а не просто
minikube start
$ REG_IP:
REG_IP=docker-machine ip registry
Используйте реестр док-станции minikube вместо локального докера
eval $(minikube docker-env)
docker build -t hello-node:v1.
По умолчанию для K8S установлено значение "Всегда" на "IfNotPresent"
imagePullPolicy: IfNotPresent
Добавление --insecure-registry = "$ REG_IP": 80, похоже, не работает для меня.
Я должен использовать ответ wlredeye на Невозможно вытащить изображение докера из частного репо при использовании Minikube для его работы:
Для http-реестра эти шаги работают для меня:
--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
Сначала вам нужно запустить локальный реестр, похоже, вы это сделали.
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
Надеюсь, это поможет.
Я мог бы решить проблему очень странным образом:
minikube delete
rm -rf ~/.minikube
minikube start