我加载了一些正在运行的docker映像
docker load --input <file>
然后我可以在执行时看到这些图像
docker image ls
一段时间后,图像开始消失。每隔几分钟就会列出越来越少的图像。我还没有运行任何图像。可能是这个问题的原因?
编辑:minikube VM中的docker会出现此问题。
答案 0 :(得分:2)
由于您已经提到Docker守护程序在minikube VM内运行,因此我假设您可能会使用K8s Garbage collection机制,该机制可使系统利用率保持在适当的水平并减少未使用的数量容器(根据图像构建),具体方法是调整特定阈值。
这些驱逐thresholds由Kubelet 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