Docker映像随时间消失

时间:2019-10-11 20:26:40

标签: docker minikube

我加载了一些正在运行的docker映像

docker load --input <file>

然后我可以在执行时看到这些图像

docker image ls

一段时间后,图像开始消失。每隔几分钟就会列出越来越少的图像。我还没有运行任何图像。可能是这个问题的原因?

编辑:minikube VM中的docker会出现此问题。

2 个答案:

答案 0 :(得分:2)

由于您已经提到Docker守护程序在minikube VM内运行,因此我假设您可能会使用K8s Garbage collection机制,该机制可使系统利用率保持在适当的水平并减少未使用的数量容器(根据图像构建),具体方法是调整特定阈值。

这些驱逐thresholdsKubelet k8s节点代理完全管理,根据kubelet configuration file中传播的参数(标志)清除不确定的图像和容器。

因此,我想您可以查看由kubelet引导程序在以下路径minikube中生成的/var/lib/kubelet/config.yaml配置文件中调整的某些阈值来调查K8的驱逐行为。

答案 1 :(得分:0)

如@mk_sta答案中所述,可解决您需要的问题:

使用

创建或编辑/var/lib/kubelet/config.yaml
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
evictionHard:
    imagefs.available: "5%"

默认值为15%

minikube stop
minikube start --extra-config=kubelet.config=/var/lib/kubelet/config.yaml

或者在docker分区上释放更多空间。

https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/#create-the-config-file

https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/#hard-eviction-thresholds