首页
在线工具
统计
友链
Search
1
暴力破解忘记的zip,rar, pdf等文件密码
3,694 阅读
2
typecho添加打赏功能
2,031 阅读
3
摸鱼人日历
1,454 阅读
4
躲避校园网客户端的检测实现移动热点开启
1,426 阅读
5
创建自签名 ssl 证书
1,040 阅读
随笔杂记
Web建设
运维茶点
编程之路
网络配置指南
Huawei
网络安全
资源下载
生活中的点滴
登录
Search
标签搜索
HCNA
Python
Huawei
Linux
web
PC
Docker
Blog
windows
Network
HCNP
LOVE
Virus
MySQL
eNSP
Zabbix
DNS
typecho
k8s
HTTPS
TanHaX
累计撰写
80
篇文章
累计收到
76
条评论
首页
栏目
随笔杂记
Web建设
运维茶点
编程之路
网络配置指南
Huawei
网络安全
资源下载
生活中的点滴
页面
在线工具
统计
友链
搜索到
5
篇与
的结果
2025-09-27
Docker 镜像与容器批量管理指南:从清理到高效运维
在日常使用 Docker 进行应用部署时,随着时间推移,本地往往会积累大量不再使用的镜像、容器和数据卷,不仅占用存储空间,还可能导致环境混乱。本文将以通用场景为例,分享一套 Docker 批量管理的实用方法,帮助你快速清理冗余资源、规范运维流程,尤其适合需要定期维护 Docker 环境的开发者和运维人员。一、现状诊断:先搞清楚本地有哪些资源在进行清理操作前,第一步需要明确本地 Docker 环境的 “家底”—— 即当前存在的容器、镜像和数据卷状态,避免误删有用资源。1. 查看所有容器(含已停止)通过以下命令可列出所有容器,包括处于运行中(Up)和已停止(Exited)的实例,清晰看到容器 ID、对应的镜像、状态和名称:docker ps -a输出示例(包含容器 ID、镜像名、创建时间、状态等关键信息):CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70a0bd3b1caa registry.example/app:v1 "/entrypoint.sh" 2 months ago Exited (0) 2 seconds ago app-nginx 0eb19eac332b registry.example/app:v1 "/entrypoint.sh" 2 months ago Up 8 weeks (healthy) 5000/tcp app-admin2. 查看本地所有镜像列出本地已下载的所有镜像,包括未被使用的 “孤儿镜像”,可通过标签(TAG)和大小(SIZE)判断是否需要保留:docker images -a输出示例(包含镜像仓库、标签、镜像 ID、创建时间、大小):REPOSITORY TAG IMAGE ID CREATED SIZE registry.example/app v1 c7465c9627fb 2 months ago 408MB registry.example/utils v2 5e3c32776966 2 months ago 396MB nginx latest e621413df129 3 months ago 195MB二、批量清理:从容器到镜像的 “断舍离”当确认部分资源不再使用时,可按 “先停容器→删容器→删镜像→清数据” 的顺序批量操作,避免因依赖关系导致删除失败。1. 批量停止并删除目标容器如果需要清理某一类容器(例如通过名称前缀区分的应用容器),可通过 --filter 过滤容器名称,先停止再删除:# 1. 停止所有名称含“app-”前缀的容器(根据实际名称调整过滤条件) docker stop $(docker ps -q --filter "name=app-") # 2. 删除所有名称含“app-”前缀的容器(包括已停止的) docker rm $(docker ps -aq --filter "name=app-")说明:-q 参数表示仅输出容器 ID,方便批量传递给 stop/rm 命令;--filter "name=xxx" 可根据容器名称灵活筛选,也可通过 --filter "image=镜像名" 按镜像筛选。2. 批量删除目标镜像清理完依赖容器后,即可批量删除对应的镜像。例如删除某仓库下特定标签的所有镜像:# 删除“registry.example/app”仓库下标签为“v1”的所有镜像 docker rmi $(docker images -q "registry.example/app:v1")若提示 “镜像被占用”:可能存在未清理的隐藏容器(如退出但未删除的实例),可添加 -f 强制删除(注意:强制删除会同时删除依赖该镜像的容器):docker rmi -f $(docker images -q "registry.example/app:v1") 若需删除某仓库下所有镜像(不限制标签):docker rmi -f $(docker images -q "registry.example/app/*")3. 清理冗余数据卷(可选,彻底释放空间)容器运行时产生的持久化数据(如数据库文件、配置)会保存在数据卷中,即使删除容器,数据卷仍会残留。可通过以下命令清理:# 1. 查看所有数据卷 docker volume ls # 2. 批量删除未被任何容器引用的“无用数据卷”(谨慎操作!) docker volume prune提示:执行 prune 前,建议先通过 docker volume inspect 卷名 确认数据卷内容,避免误删重要数据。三、避坑指南:这些错误你可能遇到在批量操作过程中,容易因依赖关系或命令格式导致失败,以下是常见问题及解决方案:错误提示原因解决方案 No such image: xxx:latest镜像 ID / 名称输入错误,或镜像已被删除1. 用 docker images -a 确认镜像是否存在;2. 检查镜像名称 / ID 是否拼写正确 conflict: unable to delete xxx (must be forced)镜像被运行中 / 已停止的容器引用1. 先通过 `docker ps -agrep 镜像 ID` 找到依赖容器;2. 删除容器后再删镜像,或直接强制删除permission denied非 root 用户执行命令,权限不足1. 加 sudo 前缀(如 sudo docker rm xxx);2. 或配置 Docker 非 root 访问权限 四、日常运维建议:避免资源堆积与其定期花时间清理,不如在日常使用中养成良好习惯,减少冗余资源产生:创建容器时指定名称:通过 --name 给容器起有意义的名称(如 app-nginx-2024),方便后续筛选和管理,避免默认的随机名称(如 stoic_curie)。docker run -d --name app-nginx-2024 nginx:latest使用后及时清理:临时测试用的容器 / 镜像,在测试完成后立即删除,避免遗忘。例如: # 运行临时容器,退出后自动删除(--rm 参数) docker run --rm -it ubuntu:latest /bin/bash定期检查:可将 docker system df 加入定时任务(如每周执行),查看 Docker 资源占用情况,及时发现异常堆积。 # 查看 Docker 磁盘使用概况 docker system df
2025年09月27日
6 阅读
0 评论
1 点赞
2024-01-31
使用 Docker 快速搭建开发环境
1. 前期安装docker 这里就不写了,可以看往前写的文章!2. 安装开发环境这里可以根据需求来选择开发语言1. 安装C/C++开发环境sudo apt install build-essential这将安装编译C/C++程序所需的基本工具,包括gcc、g++等。2. 安装Java开发环境sudo apt install default-jdk这将安装默认的OpenJDK Java开发工具包。3. 安装Python开发环境sudo apt install python3 python3-pip这将安装Python 3及其包管理器pip。4. 安装Go语言开发环境sudo apt install golang-go这将安装Go语言的编译器和工具。3. 使用Docker部署开发环境C/C++环境:sudo docker run -it gccJava环境:sudo docker run -it openjdkPython环境:sudo docker run -it pythonGo语言环境:sudo docker run -it golang4. 在Docker容器中比如使用C语言开发:经过上述的搭建现在你可以在Docker容器中进行C语言开发了。你可以使用任何喜欢的文本编辑器编写C代码,例如Vim、Emacs或Nano。使用gcc编译器来编译和运行C代码,例如:gcc -o hello hello.c ./hello{lamp/}注:一般情况下 vim 是没有安装的,可以使用 Nano 来写1. 在Docker容器中安装Nano编辑器:在终端中运行以下命令以安装Nano编辑器:apt update apt install nano2. 使用Nano编辑器打开hello.c文件:运行以下命令以使用Nano编辑器打开hello.c文件:nano hello.c3. 在Nano编辑器中进行C代码编写:使用键盘导航键移动光标到正确位置,开始编写C代码。编写完毕后,按Ctrl + O保存文件,回车键ENTER确定,然后按Ctrl + X退出Nano编辑器。4. 编译和运行C代码:使用gcc编译器来编译和运行C代码,例如:gcc -o hello hello.c ./hello
2024年01月31日
146 阅读
0 评论
1 点赞
2023-02-15
docker 安装出现 [Errno 14] HTTPS Error 404 - Not Found
在使用上篇部署 docker 文章命令过程中,在tencentos server 中出现报错!搞拢了半天发现 docker 一个YUM存储库文件有问题.解决办法:1. 打开编辑配置文件.vim /etc/yum.repos.d/docker-ce.repo2. 找到这个位置,并找到 [docker-ce-stable] 这个位置. 3. 把 baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable 替换一下的地址:baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
2023年02月15日
736 阅读
0 评论
1 点赞
2022-09-03
Centos 部署Docker
Docker是开发人员和系统管理员使用容器开发、部署和运行应用程序的平台。在部署前需配置 yum 源,可以看以前我发过一篇: 小笔记1. 如果你曾经安装过 docker,请先删掉:Fedora/CentOS/RHEL:sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine2. 安装yum-util 依赖sudo yum install -y yum-utils device-mapper-persistent-data lvm23. 下载docker-ce的yum源。阿里镜像:wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo清华镜像(把官方替换成 TUNA):sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo4. 安装Docker更新源sudo yum makecache fast安装sudo yum -y install docker-ce如安装指定版本:sudo yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io{lamp/}配置Docker镜像加速1.编辑daemon.jsonvim /etc/docker/daemon.json2.Docker官方提供的中国镜像库{ "registry-mirrors": ["https://registry.docker-cn.com"] }国内其他镜像库(推荐){ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://registry.docker-cn.com", "https://reg-mirror.qiniu.com", "https://dockerhub.azk8s.cn", "https://docker.mirrors.ustc.edu.cn" ] }3.加载配置和重启docker服务systemctl daemon-reloadsudo systemctl enable docker && sudo systemctl start docker验证 Docker 是否安装成功:sudo docker run hello-world{lamp/}Docker进程管理:运行Dockersystemctl start docker停止Dockersystemctl stop docker重启Dockersystemctl restart docker开机自启动Dockersystemctl enable dockerDocker查看运行状态systemctl status dockerDocker查看容器ID。docker ps
2022年09月03日
404 阅读
0 评论
5 点赞
2022-08-15
Ubuntu 部署 Docker
Docker是开发人员和系统管理员使用容器开发、部署和运行应用程序的平台。在部署前需配置 yum 源,可以看以前我发过一篇: 小笔记1. 如果你曾经安装过 docker,请先删掉:Debian/Ubuntu:sudo apt-get remove docker docker-engine docker.io containerd runc2. 安装所需的软件包,以允许apt通过HTTPS使用Docker存储库:sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release3. 添加阿里云的docker GPG密钥curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg4. 添加Docker存储库到APT源列表中:echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null5. 更新包索引:sudo apt update sudo apt -y upgrade6. 安装Docker:sudo apt-get install docker-ce -y指定版本安装docker:sudo apt-get install -y docker-ce=5:20.10.9~3-0~ubuntu-focal配置容器镜像加速器可以看以前发布的一篇 文章
2022年08月15日
378 阅读
0 评论
0 点赞