我有一个名为docker-Hello-world的docker映像-它所做的就是使用JRE将Hello World打印到日志中。当测试它工作正常。
然后,我将图像导入库伯内特斯码头,然后运行——仍然没有问题。
docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-hello-world latest 9a161d166742 20 hours ago 83.17 MB
它说部署已经创建。
kubectl get deployments
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
docker-hello-world 1 1 1 0 24s
kubectl get pods
NAME READY STATUS RESTARTS AGE
docker-hello-world-67c745cff4-sv77d 0/1 ErrImagePull 0 43s
日志:
kubectl logs docker-hello-world-67c745cff4-sv77d
Error from server (BadRequest): container "docker-hello-world" in pod "docker-hello-world-67c745cff4-sv77d" is waiting to start: trying and failing to pull image
我不知道为什么它找不到图像。
但是如果我在Minikube内部这样做:
docker build -t dummy:v1 ~/eclipse-workspace/HelloWorld/bin/
(我真的不想再次生成图像)
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dummy v1 beae3bfd2327 32 seconds ago 83.17 MB
kubectl run --image=dummy:v1 dummy
deployment "dummy” created
kubectl get deployments
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
dummy 1 1 1 0 11s
kubectl get pods
NAME READY STATUS RESTARTS AGE
dummy-8496dd7d84-t4h66 0/1 Completed 4 1m
kubectl logs dummy-8496dd7d84-t4h66
Hello, World
看起来还可以
图像docker hello world:latest
的版本标签是latest
,这表明默认的ImagePullPolicy
是始终
(对于v1.9.x及以后的版本,请参见
pkg/api/core/v1/defaults.go
)。它将尝试从中心提取图像,而不使用已经存在的图像。
一个选项是设置一个特定的标记,而不是最新的
。