# 查看容器
# 查看活跃容器 docker ps # 查看所有容器(包括已关闭) docker ps -a # 筛选指定名称和状态的容器 docker ps -q --filter name=.*bingohuang.* --filter status=exited # 设置容器自启动 docker container update --restart=always registry-srv
# 清除镜像和容器
# 删除已关闭容器 docker rm $(docker ps -aq -f status=exited) # 删除无tag镜像 docker rmi $(docker images | grep '<none>' | awk '{print $3}') # 删除后4个镜像 docker rmi -f `docker images | awk '{print $3}'| tail -n +4` # 删除前9个镜像 docker rmi -f $(docker images -q | head -n 9)
# 查看镜像
# 查看镜像 docker images # 查看镜像详细构建历史 docker history --no-trunc registry.cn-shanghai.aliyuncs.com/leozhanggg/prometheus/alertmanager:v0.18.0
# 镜像导入导出
# 导入指定目录所有镜像 for image in `ls`; do docker load -i $image; done # 导出非gpu所有镜像(整包) docker save -o userPublic-nogpu.tgz $(docker images | grep -vE 'TAG|gpu' | awk '{print $1":"$2}') # 导出非gpu所有镜像(分包) images=$(docker images | grep -vE 'TAG|gpu' | awk '{print $1":"$2}') for image in $images; do docker save -o $(echo $image | awk -F/ '{print $3".tar"}') $image; done
# 排查磁盘占用较大的容器
# 排查磁盘占用较大的容器 du -sh /var/lib/docker/containers/* |grep G # 通过容器id快速定位k8s pod docker inspect --format='{{index .Config.Labels "io.kubernetes.pod.name"}}' 4102005ae5e5
# 批量替换镜像仓库
# 基于项目文件 repo=registry.xuelangyun.com/shuzhi-coreos for each in `grep -iR "image: " .|awk '{print $1"|"$2"|"$3}'`; do file=`echo $each | cut -d"|" -f1 | sed 's/://'` image=`echo $each | cut -d"|" -f3` image_new=`echo $repo/${image##*/}` echo "sed 's#$image#$image_new#g' $file docker pull $image docker tag $image $image_new docker push $image_new" >>update_image.sh done # 基于本地仓库 repo=registry.weichai.com for each in `docker images |grep -v REPOSITORY | awk '{print $1":"$2}'`; do docker tag $each $repo/${each#*/} docker push $repo/${each#*/} done
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?