【问题标题】:Running local docker image in Minikube在 Minikube 中运行本地 docker 镜像
【发布时间】:2020-01-06 17:17:05
【问题描述】:

我已经为 Windows 和 minikube 设置了 Docker。此处为 (k8s.gcr.io/echoserver:1.10) 列出的示例可以正常工作: https://kubernetes.io/docs/setup/learning-environment/minikube/

但是,当我在 c:\dev\helloworld 下创建简单的 .NET MVC 应用程序并尝试在 Minikube 中运行时,我得到状态:CrashLoopBackOff

环境:Windows 10 企业版

请帮忙。我需要设置什么才能完成这项工作?

【问题讨论】:

标签: docker minikube


【解决方案1】:

如果您在运行 docker build 而不是运行在主机上的 Docker for Windows 守护程序时以运行在 minikube VM 中的 Docker 守护程序为目标,那么 minikube Docker 将有权访问该映像并且后续的 kubectl run 命令将起作用如预期的。我不确定在 Windows 上运行哪些命令,但在 Mac 或 Linux 等 POSIX 系统上可以运行:

# make 'docker' commands use daemon in minikube
eval $(minikube docker-env)

# build image so that minikube Docker daemon has it
docker build -t hello-world:v1 .

# deploy to kubernetes
kubectl run hello-world --image=hello-world:v1 --port=8080

# unset DOCKER environment variables so it goes back to 
# targetting the usual Docker for Windows
eval $(minikube docker-env -u)

我不知道 eval 是否适合在 Windows 上运行,但如果您只运行 minikube docker-env 它可能会给您一些说明,例如对我来说,它给了:

$ minikube docker-env
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.103:2376"
export DOCKER_CERT_PATH="/Users/amitgupta/.minikube/certs"
# Run this command to configure your shell:
# eval $(minikube docker-env)

【讨论】:

  • 是的。那行得通。在 Windows Power Shell 中,您可以: PS C:\minikube> minikube docker-env。之后,您应该会在 minikube 中看到一个图像列表,包括新构建的 docker 图像。另外,在部署文件中:imagePullPolicy: Never
猜你喜欢
  • 1970-01-01
  • 2017-07-22
  • 2018-06-27
  • 2019-12-05
  • 2019-03-10
  • 2020-08-09
  • 1970-01-01
  • 2020-01-08
  • 1970-01-01
相关资源
最近更新 更多