我在本地机器上构建了docker镜像,并尝试使用kubectl拉取docker镜像。但它并没有启动docker容器。
图像以docker命令开始。
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat9 latest 8b228ac6f19f About an hour ago 111 MB
它可以通过ImagePullBackOff消息进行统计。
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
tomcat9-511437148-sgkwp 0/1 ImagePullBackOff 0 9m
如何让kubectl运行此docker镜像?
谢谢
发布于 2017-04-18 21:32:33
我从你下面的评论中看到你在本地使用Minikube。
Minikube在虚拟机内运行,在Minikube内运行的Docker和在您的机器上运行的Docker是两个独立的实例,因此将无法访问相同的镜像,但是您可以使用eval $(minikube docker-env)
将Minikube内的Docker链接到您的本地Docker,您可以读取更多here。
此外,您还可以通过运行kubectl describe pods tomcat9-511437148-sgkwp
获取有关ImagePullBackOff
发生原因的更多信息。
发布于 2017-04-19 10:37:11
我使用了这个yaml文件,现在镜像已经部署到集群上了。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: tomcat9
labels:
app: tomcat9
spec:
template:
metadata:
labels:
app: tomcat9
spec:
containers:
- image: tomcat9:latest
name: tomcat9
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: tomcat9
labels:
app: tomcat9
spec:
ports:
- nodePort: 30080
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: tomcat9
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
https://stackoverflow.com/questions/43462384
复制相似问题