k8s节点images自动清理
功能介绍同一个服务,发版本时通过命令行删除旧镜像,但保留最新3个镜像,用以回滚一行docker命令删除多余镜像docker images |grep 'command-demo'|awk '{print $3}'|awk 'BEGIN {FS=\" \"} NR > 3 {print $NF}'|xargs docker rmi||true删除command-demo服务的多余镜像,具体可自
·
功能介绍
同一个服务,发版本时通过命令行删除旧镜像,但保留最新3个镜像,用以回滚
一行docker命令删除多余镜像
docker images |grep 'command-demo'|awk '{print $3}'|awk 'BEGIN {FS=\" \"} NR > 3 {print $NF}'|xargs docker rmi||true
删除command-demo服务的多余镜像,具体可自定义
***yaml文件增加内容
容器创建执行shell命令:
lifecycle:
postStart:
exec:
command: [ "/bin/sh","-c","docker images |grep 'command-demo'|awk '{print $3}'|awk 'BEGIN {FS=\" \"} NR > 3 {print $NF}'|xargs docker rmi||true" ]
挂载docker到容器,使得容器内可以执行docker命令:
volumes:
- name: docker
hostPath:
path: /usr/bin/docker
- name: dockersock
hostPath:
path: /var/run/docker.sock
volumeMounts:
- mountPath: /usr/bin/docker
name: docker
- mountPath: /var/run/docker.sock
name: dockersock
容器的生命周期事件: 官网链接
postStart:容器创建后执行
preStop:容器销毁前执行
yaml文件
apiVersion: v1
kind: Pod
metadata:
name: command-demo
labels:
purpose: demonstrate-command
spec:
containers:
- name: command-demo-container
image: command-demo
lifecycle:
postStart:
exec:
command: [ "/bin/sh","-c","docker images |grep 'command-demo'|awk '{print $3}'|awk 'BEGIN {FS=\" \"} NR > 3 {print $NF}'|xargs docker rmi||true" ]
volumeMounts:
- mountPath: /usr/bin/docker
name: docker
- mountPath: /var/run/docker.sock
name: dockersock
volumes:
- name: docker
hostPath:
path: /usr/bin/docker
- name: dockersock
hostPath:
path: /var/run/docker.sock
nodeSelector:
disktype: ssd
restartPolicy: OnFailure
注意,踩坑
apiVersion: v1
kind: Pod
metadata:
name: command-demo
labels:
purpose: demonstrate-command
spec:
containers:
- name: command-demo-container
image: command-demo
command: ["/bin/sh"]
args: ["-c","docker images |grep 'command-demo'|awk '{print $3}'|awk 'BEGIN {FS=\" \"} NR > 3 {print $NF}'|xargs docker rmi||true"]
volumeMounts:
- mountPath: /usr/bin/docker
name: docker
- mountPath: /var/run/docker.sock
name: dockersock
volumes:
- name: docker
hostPath:
path: /usr/bin/docker
- name: dockersock
hostPath:
path: /var/run/docker.sock
nodeSelector:
disktype: ssd
restartPolicy: OnFailure
若使用如上形式执行shell命令(容器创建前执行命令),则容器创建总是失败
更多推荐
已为社区贡献1条内容
所有评论(0)