当前位置: 首页 > 面试题库 >

如何在Minikube中使用本地docker镜像?

赵镜
2023-03-14
问题内容

我有几个要使用的docker镜像minikube。我不想先上传然后下载相同的图像,而不仅仅是直接使用本地图像。我该怎么做呢?

我尝试过的东西:
1.我尝试运行这些命令(分别两次删除minikube实例并重新开始)

kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989
kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 imagePullPolicy=Never

输出:

NAME                    READY     STATUS              RESTARTS   AGE
hdfs-2425930030-q0sdl   0/1       ContainerCreating   0          10m

它只是停留在某些状态,但从未达到就绪状态。

2.我尝试创建一个注册表,然后将图像放入其中,但这也不起作用。我可能做错了,但是找不到正确的说明来完成此任务。

请提供说明以在本地kubernetes实例中使用本地docker映像。
操作系统:ubuntu 16.04
Docker:Docker version 1.13.1,build 092cba3
Kubernetes:

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:40:50Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7.1", Compiler:"gc", Platform:"linux/amd64"}

如果有人可以帮助我获得使用docker-compose做到这一点的解决方案,那就太好了。谢谢。

编辑:

图片载入eval $(minikube docker-env

REPOSITORY                                            TAG                 IMAGE ID            CREATED             SIZE
fluxcapacitor/jupyterhub                              latest              e5175fb26522        4 weeks ago         9.59 GB
fluxcapacitor/zeppelin                                latest              fe4bc823e57d        4 weeks ago         4.12 GB
fluxcapacitor/prediction-pmml                         latest              cae5b2d9835b        4 weeks ago         973 MB
fluxcapacitor/scheduler-airflow                       latest              95adfd56f656        4 weeks ago         8.89 GB
fluxcapacitor/loadtest                                latest              6a777ab6167c        5 weeks ago         899 MB
fluxcapacitor/hdfs                                    latest              00fa0ed0064b        6 weeks ago         1.16 GB
fluxcapacitor/sql-mysql                               latest              804137671a8c        7 weeks ago         679 MB
fluxcapacitor/metastore-1.2.1                         latest              ea7ce8c5048f        7 weeks ago         1.35 GB
fluxcapacitor/cassandra                               latest              3cb5ff117283        7 weeks ago         953 MB
fluxcapacitor/apachespark-worker-2.0.1                latest              14ee3e4e337c        7 weeks ago         3.74 GB
fluxcapacitor/apachespark-master-2.0.1                latest              fe60b42d54e5        7 weeks ago         3.72 GB
fluxcapacitor/package-java-openjdk-1.8                latest              1db08965289d        7 weeks ago         841 MB
gcr.io/google_containers/kubernetes-dashboard-amd64   v1.5.1              1180413103fd        7 weeks ago         104 MB
fluxcapacitor/stream-kafka-0.10                       latest              f67750239f4d        2 months ago        1.14 GB
fluxcapacitor/pipeline                                latest              f6afd6c5745b        2 months ago        11.2 GB
gcr.io/google-containers/kube-addon-manager           v6.1                59e1315aa5ff        3 months ago        59.4 MB
gcr.io/google_containers/kubedns-amd64                1.9                 26cf1ed9b144        3 months ago        47 MB
gcr.io/google_containers/kube-dnsmasq-amd64           1.4                 3ec65756a89b        5 months ago        5.13 MB
gcr.io/google_containers/exechealthz-amd64            1.2                 93a43bfb39bf        5 months ago        8.37 MB
gcr.io/google_containers/pause-amd64

问题答案:

如自述文件所述,您可以使用来重用Minikube中的Docker守护进程eval $(minikube docker- env)

因此,要使用图像而不上传图像,可以按照以下步骤操作:

  1. 用以下命令设置环境变量 eval $(minikube docker-env)
  2. 使用Minikube的Docker守护进程构建映像(例如docker build -t my-image .
  3. 在pod规格中将图像设置为build标签(例如my-image
  4. 将设置imagePullPolicyNever,否则Kubernetes将尝试下载图像。

重要说明: 您必须eval $(minikube docker-env)在要使用的每个终端上运行,因为它仅设置当前Shell会话的环境变量。



 类似资料:
  • 2.我尝试创建一个注册表,然后将图像放入其中,但这也不起作用。我可能做错了,但我找不到正确的指令来完成这项任务。 请提供在本地kubernetes实例中使用本地docker映像的说明。 OS:ubuntu 16.04 Docker:Docker版本1.13.1,版本092CBA3 Kubernetes: 如果有人能帮我找到一个使用docker-compose的解决方案,那就太棒了。

  • 在网上搜索如何在kubernetes中部署本地构建的docker映像,我只找到了与minikube结合的解决方案。 例如:minikube 因此,我想知道,是否可以在由建立的Kubernetes集群中使用本地构建docker镜像,或者是将这些镜像部署到私有注册中心并随后从集群中提取镜像的首选方法?

  • 我已经用docker和docker compose设置了一些环境,因此我有不同的容器和不同的服务,所有这些容器都是由docker-compose编排的,它在我的本地开发环境中运行良好。最近我读了一些关于kubernetes和minikube的文章,但实际上,kubernetes是一个更多用于容器管理的服务器/集群的工具。 问题是,对于本地开发环境(例如php、mysql和apache),我应该使用

  • Docker 镜像同步 OpenShift 安装和运行依赖 4 大类 docker 镜像,分别是: 安装所需核心镜像 日志,管理等相关的镜像 Ansible broker 相关的镜像 S2I 应用镜像构建相关的镜像 如下脚本可以用来同步镜像: https://www.wenjiangs.com/doc/I0qaQxkwUAimages-syncing.sh https://www.wenjiang

  • 本文向大家介绍Docker如何使用Dockerfile构建镜像,包括了Docker如何使用Dockerfile构建镜像的使用技巧和注意事项,需要的朋友参考一下 Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和

  • 问题内容: 我想研究minikube。我成功安装了它,但是我了解到在Windows 10中,我需要禁用Hyper-v。现在,当我尝试安装docker时,它需要启用Hyper-v。 我都需要工作。 请提出一种实现此目标的方法。 感谢你的帮助 。:) 问题答案: 您可以通过在Minikube的Hyper-V Manager中创建新的虚拟交换机来实现。 打开Hyper-V管理器(通过简单的Windows