Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker ImagePullBackOff使用Minikube的本地存储库_Docker_Kubernetes_Kitematic - Fatal编程技术网

Docker ImagePullBackOff使用Minikube的本地存储库

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

我正在尝试使用minikube和kitematic在本地机器上测试kubernetes。但是,kubernetes无法在我的本地存储库中提取图像(
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注册表,以下步骤适用于我:

  • 米尼库贝宋承宪
  • 编辑/var/lib/boot2docker/profile并添加到$EXTRA_ARGS
    --不安全注册表192.168.99.1(您本地计算机的IP):5000
  • 重新启动docker守护进程
    sudo/etc/init.d/docker restart
  • 验证您是否可以访问docker注册表
    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