怎么清空docker目录(如何完全清理你的Docker数据)
怎么清空docker目录
如何完全清理你的Docker数据目录
- 定期修剪(prune)
- 镜像驱逐
- 容器清理
- 网路整理
- 卷的蒸发
- 完全干净的开始
Docker 不会对你的系统进行任何配置更改……但是它会占用大量的磁盘空间。(使用 Docker)不一会儿,当你输入如下命令时,就会返回一些可怕的使用情况统计信息:
docker system df
幸运的是,Docker 允许您从未使用的镜像、容器以及卷中回收磁盘空间。
为了安全地删除已停止的容器,未使用的网络和悬挂的图像,最好每隔一段时间运行以下命令:
docker system prune
更具风险的选择是:
docker system prune -a
这也将抹除任何与正在运行的容器无关的镜像。这可能有一点极端,但是 Docker 还是会重新下载其所需的镜像的。第一次下载会稍慢一些,但随后会将镜像缓存起来以备将来使用。
以下各节介绍了删除特定项目的其他方法。
Docker 镜像是应用程序(例如Web服务,语言运行时或者数据管理系统)的磁盘快照。您可以通过输入以下内容来查看所有的镜像,不管是运行中的还是悬空的(与容器无关的镜像):
docker image ls -a
一个 Docker 镜像可以通过输入以下命令删除:
docker image rm <name_or_id>
可以将任意数量的镜像添加到此命令——用空格字符分隔它们。
Docker 容器是镜像运行的实例,并且可以从同一容器中启动任意数量的容器。容器通常很小,因为它们是无状态的,并且引用了镜像的文件系统。通过输入以下命令查看所有正在运行和已停止的容器:
docker container ls -a
一旦一个容器停止了,你便可以删除它。停止容器的命令如下:
docker container stop <name_or_id>
删除容器的命令如下:
docker container rm <name_or_id>
同样,可以在此命令中添加任意数量的以空格分隔的容器名称或者 ID。
几乎没有必要保留已停止的容器。 可以将 --rm 选项添加到 docker run 命令中,以在容器终止后自动删除该容器。
容器可以连接到 Docker 管理的网络,因此它们才可以相互通信。这些是不会占用太多磁盘空间的配置文件。通过输入以下内容查看所有 Docker 网络:
docker network ls
输入下面的命令可以删除一个或多个无用的网络:
docker network rm <name_or_id>
同样,可以在此命令中添加任意数量的以空格分隔的网络名称或者 ID。
Docker 卷是虚拟磁盘映像。 必须将其附加到正在运行的容器,以便它可以在两次重新启动之间保存文件或其他状态信息。 卷的大小取决于使用它的应用程序,但是典型的数据库即使在大多数情况下都是空的,也需要数百兆的空间。
通过以下命令便可查看所有 Docker 管理的磁盘卷:
docker volume ls
移除一个 Docker 卷将会永远抹除其数据!没有回头路!
如果您要开发数据库驱动的应用程序,通常可以保留一个或多个数据转储,这些数据转储可用于重新创建一组特定的记录。大多数数据库客户端工具都提供转储功能,比如 Adminer 中的 Export 链接。
大多数数据库系统将提供备份工具,例如 MySQL 中的 mysqldump 实用程序。 可以使用 docker exec 命令在正在运行的容器上执行这些操作。
以下 Linux / macOS 命令将在名为 mysql 的容器上运行的名为 mydb 的 MySQL 数据库备份到名为 backup.sql 的文件中。 使用密码为 mysecret 的 MySQL root 用户:
docker exec mysql /usr/bin/mysqldump -u root -pmysecret mydb \ > backup.sql
Windows PowerShell 的等效命令:
docker exec mysql /usr/bin/mysqldump -u root -pmysecret -r mydb | \ Set-Content backup.sql
您还可以使用 docker cp 命令将数据文件复制到正在运行的容器或从正在运行的容器复制数据文件。 这是通过源路径和目标路径传递的,容器由其 名称/ ID 区分,后跟冒号及其路径,例如,
docker cp mycontainer:/some/file ./host/directory
假设您的数据是安全的,则可以通过输入以下内容来删除任何未使用的卷:
docker volume rm <name>
可以使用以下方法删除所有未使用的Docker卷——当前未连接到正在运行的容器的那些卷:
docker volume prune
或者,docker volume prune -a 将全部卷删除。 毕竟你已经备份了,不是吗?
可以使用单个命令清除掉每个未使用的容器,镜像,卷和网络:
docker system prune -a --volumes
如果要在没有确认提示的情况下强制清理,可以添加 -f 。 您的系统将恢复到没有任何 Docker 数据的原始状态。
到此这篇关于如何完全清理你的Docker数据的文章就介绍到这了,更多相关Docker清理数据内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- docker 部署参数配置(Docker部署nGrinder性能测试平台过程解析)
- docker容器使用流程(在Docker构建的容器中实现安装ping工具)
- docker多个端口怎么分(Docker多个容器不能有相同端口号的处理方案)
- docker 各种用法(详解Docker commit的使用)
- docker容器的三大组件(docker容器下配置jupyter notebook的操作)
- dockerswarm 均衡策略(以示例讲解Clickhouse Docker集群部署以及配置)
- nginx tomcat docker 负载均衡(Nginx+Tomcat实现负载均衡、动静分离的原理解析)
- docker同步宿主机配置(docker容器间跨宿主机通信-基于overlay的实现方法)
- docker镜像配置的挂载路径(解决docker挂载的目录无法读写问题)
- springboot怎么用docker(使用docker部署spring boot并接入skywalking的方法)
- 怎么用docker部署springboot项目(Spring Boot使用Docker分层打包的设置方法)
- idea 远程部署docker(通过idea打包项目到docker的操作方法)
- 自建docker镜像仓库(使用docker制作分布式lnmp 镜像)
- docker配置redis集群(基于Docker搭建Redis主从集群的实现)
- 安全进入docker容器的方法(使用docker部署一个简单的c/c++程序的方法)
- 查看docker 镜像大小(详解六种减小Docker镜像大小的方法)
- 览邦G08 Plus SMART WATCH 测评⑱ 全独立这才是智能手表该有的样子(览邦G08PlusSMART)
- 荣耀手表 GS 3 真机亮相 不支持无线充电(荣耀手表GS3)
- 通过体温就能为智能手表充电 原来是用NASA在空间站用的黑科技(通过体温就能为智能手表充电)
- 智能手表兼容Windows和Android 无需充电挑战苹果(智能手表兼容Windows和Android)
- 一天一冲也算表 麦步,一款待机 21 天的智能手表体验评测(一天一冲也算表)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
热门推荐
- onkeyup,onkeydown和onkeypress
- dedecms调用点击数(织梦DEDECMS中显示复制地址,推荐给QQ/MSN上的好友的代码)
- mysql char和varchar区别(MySQL CHAR和VARCHAR存储、读取时的差别)
- mysql dateformat(MySQL的DATE_FORMAT函数的使用)
- dedecms 内容页模板(dedecms列表页与详情页调用tag标签的方法)
- mysql8.0.25.0安装配置(MySQL8.0.23免安装版配置详细教程)
- mysql 慢查询日志
- python中如何限制数字的个数(python 处理数字,把大于上限的数字置零实现方法)
- sqlserver替换脚本(SQL Server中对数据截取替换的方法详解)
- sql中去除重复记录的关键字(sqlserver查询去掉重复数据的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9