43

ローカル マシンで kubernetes をテストするために minikube と kitematic を使用しようとしています。ただし、kubernetes はローカル リポジトリ ( 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

私のkubernetes yamlには以下が含まれています:

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

編集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"

助けて 気が狂いそう。

編集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 configに追加しましたが、それでも機能しません.同じメッセージが表示されます....

ところで、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
4

11 に答える 11

0

最初に、ローカル レジストリを開始する必要があります。既に完了しているようです。

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

minikube の IP は次の方法で確認できます。ifconfig

出力があるはずです(minikubeがvirtualboxを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

(minikube内で)簡単に自分の画像をプルできるかどうかを実際に確認できます

docker pull 192.168.99.1:5000/your_own_repo/your_own_images

これが役立つことを願っています。

于 2017-03-03T07:46:32.730 に答える