Docker ImagePullBackOff使用Minikube的本地存储库
我正在尝试使用minikube和kitematic在本地机器上测试kubernetes。但是,kubernetes无法在我的本地存储库中提取图像(Docker ImagePullBackOff使用Minikube的本地存储库,docker,kubernetes,kitematic,Docker,Kubernetes,Kitematic,我正在尝试使用minikube和kitematic在本地机器上测试kubernetes。但是,kubernetes无法在我的本地存储库中提取图像(ImagePullBackOff) 我试着用这个来解决它: 但是我没有/etc/init.d/docker,我想这是因为运动学?(我在OSX上) 编辑: 我安装了,并且 我的kubernetes yaml包含: spec: containers: - name: backend-nginx image: localhost:5000/l
ImagePullBackOff
)
我试着用这个来解决它:
但是我没有/etc/init.d/docker
,我想这是因为运动学?(我在OSX上)
编辑:
我安装了,并且
我的kubernetes yaml包含:
spec:
containers:
- name: backend-nginx
image: localhost:5000/local-image-build:latest
imagePullPolicy: Always
但它仍然不起作用。。。
日志:
编辑2:
我不知道我是否走上了好的道路,但我发现:
但我不知道我的DOCKER\u用户是什么
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"
帮帮我,我快疯了
编辑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
到我的docker配置,但它仍然不工作,相同的消息
顺便说一下,我改变了我的yaml:
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
添加--unsecure registry=“$REG_IP”:80似乎对我不起作用
我必须用Wredeye的答案
要使其正常工作:
对于http注册表,以下步骤适用于我:
--不安全注册表192.168.99.1(您本地计算机的IP):5000
sudo/etc/init.d/docker restart
curl-s-shttp://192.168.99.1/v2/_catalog
这是minikube版本:v0.14.0首先,您需要启动本地注册表,看起来您已经完成了
docker run-d-p 5000:5000--restart=always--name myregistry注册表:2
您可以通过ifconfig
应该有如下输出(在minikube开始使用virtualbox作为VMdriver后):
vboxnet0链路封装:以太网HWaddr 0a:00:27:00:00:00
inet地址:192.168.99.1 Bcast:192.168.99.255掩码:255.255.255.0
inet6地址:fe80::800:27ff:fe00:0/64作用域:链接
上行广播运行多播MTU:1500度量:1
接收数据包:0错误:0丢弃:0溢出:0帧:0
发送数据包:515错误:0丢弃:0溢出:0载波:0
冲突:0 txqueuelen:1000
接收字节:0(0.0B)发送字节:86256(86.2KB)
使用
minikube启动——不安全注册表=192.168.99.1:5000
实际上,您可以通过(在minikube内)检查是否可以提取自己的图像
docker pull 192.168.99.1:5000/您自己的\u repo/您自己的\u图像
希望这会有所帮助。使用minikube docker注册表,而不是本地docker 将docker设置为指向minikube
eval$(minikube docker env)
推送至minikube码头工人
docker构建-t hello节点:v1。
将部署设置为不拉IFNOTPRENT
K8S默认设置为“始终”
更改为“如果不存在”
imagePullPolicy:IfNotPresent
在Mac中我在minikube中遇到dns解析问题,因为/etc/resolv.conf是用我的Mac ip配置的。我没有在本地安装dns服务器,所以minikube无法解决任何问题 我用本地安装dns服务器解决了这个问题
brew install dnsmasq
sudo brew services start dnsmasq
在我的情况下,我必须执行以下步骤 $eval$(minikube docker环境) $minikube配置集驱动程序virtualbox $minikube start如果您使用的是
--vm driver=none
,则需要设置为从不
imagePullPolicy:Never:假定映像在本地存在。不
尝试拉取图像
你真的运行注册表了吗?执行此操作的命令是
docker run-d-p 5000:5000--name registry registry:2
在minikube注册表中使用docker注册表怎么样?关于这个问题有两个问题。“本地机器的IP”是指“注册表的IP”,对吗?我添加了一行:EXTRA_ARGS--unsecureregistry 192.168.99.1:5000,但是$sudo/etc/init.d/docker restart sudo:/etc/init.d/docker:command not found$REG_IP是什么?REG_IP=docker machine IP registry
docker machine
现在被取代/弃用了,谢谢,快速和简单(在我看来,正确的解决方案所述的问题)。顺便说一句,如果minikube是以“-vm driver=none”启动的,则不需要第一步(eval)。
REG_IP=docker-machine ip registry
brew install dnsmasq
sudo brew services start dnsmasq