docker - 如何在 Kubernetes 部署中引用从 tar 文件加载的本地 docker 镜像?

标签 docker kubernetes container-image

我正在尝试从本地 docker 镜像创建 Kubernetes 部署。并将 imagePullPolicy 设置为 Never,这样 Kubernetes 就会从通过 tar 导入的本地 docker 镜像中获取它。

环境

  • >
     SingleNodeMaster  # one node deployment
    

但 Kubernetes 总是尝试获取私有(private)存储库,尽管存在本地 docker 镜像。

关于如何调试和解决问题以便 Kubernetes 从本地 docker 注册表中选择图像的任何指示?谢谢。

执行的步骤

  • docker load -i images.tar
  • docker images # 显示来自 myprivatehub.com/nginx/nginx-custom:v1.1.8 的图像
  • kubectl create -f local-test.yaml with imagepullPolicy as Never

错误

Pulling  pod/nginx-custom-6499765dbc-2fts2   Pulling image "myprivatehub.com/nginx/nginx-custom:v1.1.8" 
Failed   pod/nginx-custom-6499765dbc-2fts2   Error: ErrImagePull   
Failed   pod/nginx-custom-6499765dbc-2fts2   Failed to pull image "myprivatehub.com/nginx/nginx-custom:v1.1.8": rpc error: code = Unknown desc = failed to pull and unpack image "myprivatehub.com/nginx/nginx-custom:v1.1.8": failed to resolve reference "myprivatehub.com/nginx/nginx-custom:v1.1.8": failed to do request: Head "https://myprivatehub.com/v2/nginx/nginx-custom/manifests/v1.1.8": dial tcp: lookup myprivatehub.com: no such host
docker pull <imagename>

Error response from daemon: Get https://myprivatehub.com/v2/: dial tcp: lookup myprivatehub.com on 172.31.0.2:53: no such host
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-custom
  namespace: default
spec:
  selector:
    matchLabels:
      run: nginx-custom
  replicas: 5 
  template:
    metadata:
      labels:
        run: nginx-custom
    spec:
      containers:
      - image: myprivatehub.com/nginx/nginx-custom:v1.1.8
        imagePullPolicy: Never
        name: nginx-custom
        ports:
        - containerPort: 80

最佳答案

这是因为容器运行时不同于 docker。我正在使用 containerd ,在将容器运行时切换到 docker 之后,它开始工作了。

关于docker - 如何在 Kubernetes 部署中引用从 tar 文件加载的本地 docker 镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68072772/

相关文章:

docker - 无法删除失效的Docker容器。存储驱动程序:btrfs

自动将结构转到 OpenAPI 到 JSONSchema 生成

mysql - 设置 mysql docker 容器

python - Gunicorn ImportError : No module named application

docker - 装入数据卷后,Riak容器无法启动

azure - 启用虚拟节点和未启用虚拟节点的 AKS 群集

java - 通过 Google Cloud 上的 Ingress 公开 GRPC 服务器

angularjs - 构建/部署Docker镜像的最佳实践

javascript - 为什么第 27 行在第 24 行之前执行?