minikube有自己的docker程序,不同于本地的dokcer,如果需要使用本地build的镜像,而不从网上拉取,需要以下步骤:
# 启动minikube
$ minikube start --driver=docker
# 本地终端的此进程使用minikube内的dokcer
$ eval $(minikube -p minikube docker-env)
# 在同一个终端窗口中build你的镜像
$ docker built . -t whatever:latest
# 部署,假设你的image使用8080端口
$ alias kubectl="minikube kubectl --"
$ kubectl create deploy whatever --image=whatever:latest --port=8080
执行完毕后进入minikube dashboard修改deployment的配置,将
imagePullPolicy: Always
改为以下并保存
imagePullPolicy: Never
如果直接运行kubectl create deploy whatever --image=whatever:latest --port=8080 --image-pull-policy=Never
会提示没有--image-pull-policy这个选项
稍后deployment会部署完成,创建以下service
$ kubectl expose deployment whatever --port=8080 --type=NodePort
# 打开浏览器访问
$ minikube service whatever