我在本地计算机上构建了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运行此泊坞窗图像?
由于
答案 0 :(得分:8)
我从你的评论中看到你在本地使用Minikube。
Minikube在虚拟机内部运行,Docker在Minikube内运行,而在你机器上运行的Docker是两个独立的实例,因此无法访问相同的图像,但是你可以使用{将Minikube内的Docker链接到本地Docker {1}},您可以阅读更多here。
此外,您可以通过eval $(minikube docker-env)
获取有关ImagePullBackOff
发生原因的更多信息。
答案 1 :(得分:-1)
我使用了这个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: {}