拉取本地镜像以在 Kubernetes 中运行 pod

2024-03-20

我有由 Dockerfile 创建的以下图像:

REPOSITORY   TAG      IMAGE ID       CREATED       SIZE 
ruby/lab     latest   f1903b1508cb   2 hours ago   729.6 MB

我有以下 YAML 文件:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: ruby-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: ruby
    spec:
      containers:
      - name: ruby-app
        image: ruby/lab
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 4567

当我创建部署时,我在 Pod 中获得以下信息:

ruby-deployment-3830038651-sa4ii   0/1       ImagePullBackOff   0          7m
ruby-deployment-3830038651-u1tvc   0/1       ImagePullBackOff   0          7m

和错误Failed to pull image "ruby/lab:latest": Error: image ruby/lab not found从下面:

 8m            2m              6       {kubelet minikube}      spec.containers{ruby}   Normal          Pulling         pulling image "ruby/lab:latest"
 8m            2m              6       {kubelet minikube}      spec.containers{ruby}   Warning         Failed          Failed to pull image "ruby/lab:latest": Error: image ruby/lab not found
 8m            2m              6       {kubelet minikube}                              Warning         FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "ruby" with ErrImagePull: "Error: image ruby/lab not found"

为此真的有必要在 docker 中拥有注册表吗?我只想在本地进行测试并将我的代码/存储库传递给朋友以进行测试

Thanks


您可以通过运行将 docker 客户端指向虚拟机的 docker 守护进程

eval $(minikube docker-env)

然后你就可以正常构建你的镜像并使用 kubectl 正常创建你的 kubernetes 资源。确保您有

imagePullPolicy: IfNotPresent

在您的 YAML 或 JSON 规范中。

此外,还有一个标志可将不安全的注册表传递给 minikube VM。但是,必须在第一次创建计算机时指定这一点。

minikube start --insecure-registry

使用私有注册表时您可能还想阅读此内容http://kubernetes.io/docs/user-guide/images/ http://kubernetes.io/docs/user-guide/images/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拉取本地镜像以在 Kubernetes 中运行 pod 的相关文章

  • 如何从连接到外部网络的另一个组合访问容器?

    这是带有容器配置的撰写文件 我希望从外部容器连接到该容器 在另一个撰写文件中定义 version 3 5 services service to connect to build networks my external network n
  • docker中CREATED容器是什么意思?

    我有点困惑docker容器的状态 尤其是与状态为已创建 我知道当容器正在运行状态如下所示 root labadmin VirtualBox RAGHU DOCKER docker ps CONTAINER ID IMAGE COMMAND
  • Docker - SequelizeConnectionRefusedError:连接 ECONNREFUSED 127.0.0.1:3306

    我正在尝试使用 Docker 容器启动并运行我的 Nodejs 应用程序 我不知道可能出了什么问题 当我使用控制台调试凭据时 凭据似乎已正确传递 另外启动sequel pro并使用相同的用户名和密码直接连接似乎也可行 当节点在容器中启动时
  • K8s服务无法ping通

    我在 minikube 集群中有一个 k8s 服务 部署 名称amq in default命名空间 D20181472 argo k8s gms kubectl get svc all namespaces NAMESPACE NAME T
  • Docker 和 Eureka 与 Spring Boot 无法注册客户端

    我有一个使用 Spring Boot Docker Compose Eureka 的非常简单的演示 我的服务器在端口 8671 上运行 具有以下应用程序属性 server port 8761 eureka instance prefer i
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • 如何在 Kubernetes 中按特定顺序配置 Pod 初始化?

    我想知道如何按特定顺序开始部署 我知道initContainers但这对我不起作用 我有一个巨大的平台 有大约 20 个部署和 5 个有状态集 每个都有自己的服务 环境变量 卷 水平自动缩放器等 所以不可能 或者我不知道如何 在另一个中定义
  • 阻止 ingress-nginx 负载均衡器上的特定路径

    我有许多指向入口控制器 IP 的域 我想阻止所有域 站点的 特定路径 有没有办法做到这一点 我可以用nginx ingress kubernetes io configuration snippet 对于每个站点 但正在寻找同时处理所有站点
  • 使用 Docker Desktop 调试本地部署到 Kubernetes 的应用程序的最佳方法是什么?

    我有使用 Docker 开发相对复杂的应用程序的经验 使用 Visual Studio 2019 调试应用程序非常容易 我只是将 docker compose yaml 设置为启动应用程序并开始调试 是否可以使用 Docker Deskto
  • NSQ Docker Swarm

    我尝试在 Docker Swarm 中使用 NSQ 但没有成功 mhlg rpi nsq 是为 Raspberry Pi ARM7 板构建的 Docker 映像 如果作为普通 Docker 容器运行 我可以确认其工作正常 在 Docker
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • Nginx docker容器代理传递到另一个端口

    我想在 docker 容器中运行 Nginx 它监听端口 80 并且当 url 以 word 开头时 我希望它 proxy pass 到端口 8080api 我有一些网络应用程序侦听端口 8080 这在没有 docker 的情况下对我来说一
  • 如何通过 Apache Airflow 中的 Docker Operator 使用卷

    我正在开发一个 ETL 流程 使用 DockerOperator 通过 Apache Airflow 进行调度和编排 我正在使用 Windows 笔记本电脑 因此我只能从 Docker 容器内运行 Apache Airflow 我能够在我的
  • docker 容器是否即时获取代码更改?

    我已经启动并运行了我的 docker 容器 有一个容器运行一些 python 代码 我发现它导致了一些错误 我想将一些代码行 主要是更多日志 添加到该特定容器内的 python 脚本中 我想进入容器docker exec ti contai
  • 热重载在docker中运行的java程序

    我开发了一个java程序 应该在docker中运行 然而 我在调试docker中运行的java程序时遇到了很多痛苦 我在网上搜索 一些教程提出了像 spring dev tools 这样的工具 因为我的java程序是基于spring boo
  • Kubernetes 中可以连接两个集群 IP 服务吗?

    情况是我想连接一个租户内的两个集群IP服务 该租户已经将Traefik作为NodePort 以便这两个服务中的任何一个都可以成为LoadBalancer 因为NodePort由Traefik使用 我尝试连接的两个服务的工作方式如下 第一个服
  • Composer 文件中的 Docker 健康检查

    我尝试将新的健康检查集成到我的 docker 系统中 但我真的不知道如何以正确的方式进行 问题是 我的数据库容器需要比启动主应用程序的容器更多的时间来启动和初始化数据库 结果 主容器无法正确启动 导致数据库连接丢失 我编写了一个 healt
  • docker容器大小远大于实际大小

    我正在尝试从中构建图像debian latest 构建后 报告的图像虚拟大小来自docker images命令为 1 917 GB 我登录查看尺寸 du sh 大小为 573 MB 我很确定这么大的尺寸通常是不可能的 这里发生了什么 如何获
  • 使用 DigitalOcean 在 Kubernetes 集群上为我的 Nginx-Ingress 生成通配符证书

    我遵循了这个 DigitalOcean 指南https www digitalocean com community tutorials how to set up an nginx ingress with cert manager on
  • 什么会阻止 Docker 容器中运行的代码连接到单独服务器上的数据库?

    我有一个在 Ubuntu 14 04 上的 Docker 容器中运行的 NET Core 1 1 应用程序 它无法连接到在单独服务器上运行的 SQL Server 数据库 错误是 未处理的异常 System Data SqlClient S

随机推荐