如何使用minikube部署本地docker注册表



使用 minikube 和 docker registry local.创建本地映像并将其推送到 docker 注册表:

$ curl http://localhost:5000/v2/_catalog
{"repositories":["app1"]}

Kubernetes 配置文件:

...
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: app1
        tier: backend
    spec:
      containers:
      - image: localhost:5000/app1
        name: app1
...

但是从 kubernetes 仪表板来看,Pods区域出现了错误:

Failed to pull image "localhost:5000/app1": rpc error: code = 2 desc = Error while pulling image: Get http://localhost:5000/v1/repositories/app1/images: dial tcp 127.0.0.1:5000: getsockopt: connection refused
Error syncing pod

那么如何在注册表中正确使用本地 docker 镜像呢?

这是一个解决方案:

https://blog.hasura.io/sharing-a-local-registry-for-minikube-37c7240d0615

我跟着它做了:

kubectl port-forward --namespace kube-system 
$(kubectl get po -n kube-system | grep kube-registry-v0 | 
awk '{print $1;}') 5000:5000

然后它挂起:

Forwarding from 127.0.0.1:5000 -> 5000

我不知道原因。

最新更新