我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何完全清理你的Docker数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何完全清理你的Docker数据

Docker 不会对你的系统进行任何配置更改……但是它会占用大量的磁盘空间。(使用 Docker)不一会儿,当你输入如下命令时,就会返回一些可怕的使用情况统计信息:


docker system df

幸运的是,Docker 允许您从未使用的镜像、容器以及卷中回收磁盘空间。

定期修剪(prune)

为了安全地删除已停止的容器,未使用的网络和悬挂的图像,最好每隔一段时间运行以下命令:


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清理数据内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何完全清理你的Docker数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sql如何清理数据库表的数据

SQL语言提供了多种方法来清理数据库表的数据,可以使用DELETE、TRUNCATE和DROP TABLE语句来删除表的数据。1. 使用DELETE语句清理表的数据:```DELETE FROM 表名;```这将删除表中的所有行数据,但保留
2023-09-04

如何完全删除MySQL数据库中的数据

MySQL如何彻底删除数据,需要具体代码示例概述:MySQL是一种常用的关系型数据库管理系统,删除数据是数据库操作中常见的需求之一。但是简单的DELETE语句只是将数据标记为删除,而不是真正的彻底删除。本文将介绍如何使用MySQL彻底删除
如何完全删除MySQL数据库中的数据
2024-02-22

sql如何清理特定数据

使用sql清理特定数据的方法:确定要清理的数据。使用delete语句按条件删除数据。使用truncate语句快速删除表中所有数据(谨慎使用)。优化查询以提高效率。清理前进行数据备份。如何通过SQL清理特定数据在维护数据库时,定期清理不再需
sql如何清理特定数据
2024-06-06

redis如何清理所有数据

清理所有 redis 数据的方法:redis 2.8 及更高版本: flushall 命令删除所有键值对。redis 2.6 及更低版本: 使用 del 命令逐个删除键或使用 redis 客户端的删除方法。替代方法: 重启 redis 服务
redis如何清理所有数据
2024-06-12

sql如何删除完全重复数据

要删除完全重复的数据,可以使用以下SQL语句:```sqlDELETE FROM table_nameWHERE (column1, column2, column3) IN(SELECT column1, column2, column3
2023-08-08

如何清除云服务器全部数据

清除云服务器数据的具体方法可能因您所在的地区、云服务器的类型和操作系统版本而异。以下是一些可能有用的步骤:在您需要关闭数据的位置打开ApacheWeb服务器控制台。选择“设置”“高级”“安全性”“高级”。点击“安全连接”,选择“允许从其他位置(例如本地计算机、防火墙等)访问”。选择要清除数据的位置,点击“清除数据”。如果您使用FTP连接,还
2023-10-27

oracle数据库如何清理日志

Oracle数据库的日志文件主要包括归档日志和在线重做日志。清理日志的操作主要是针对归档日志进行的。以下是清理归档日志的方法:1. 查看归档日志的状态:使用以下命令可以查看当前归档日志的状态:```sqlSELECT * FROM V$AR
2023-09-13

Prometheus如何处理监控数据的归档和清理

Prometheus 通常使用 Retention 和 Retention Policy 来处理监控数据的归档和清理。Retention 是指保存监控数据的时间长度,可以在 Prometheus 的配置文件中设置。当数据超过 Retent
Prometheus如何处理监控数据的归档和清理
2024-03-04

如何优化数据库的数据清洗

数据清洗是数据库管理中非常重要的一环,可以通过以下几种方法来优化数据库的数据清洗:使用数据规范化:将数据转化为统一的格式,包括日期、时间、货币、单位等,可以减少数据冗余和提高数据一致性。建立数据清洗规则:制定数据清洗规则,包括数据格式、数据
如何优化数据库的数据清洗
2024-07-03

如何清除云服务器全部数据信息

一、备份数据云服务器的数据备份是保障数据安全的重要措施。传统的备份方式包括硬件备份、软件备份和数据库备份等,但是备份数据的成本较高,而且备份数据的可靠性和完整性也难以保证。为了解决这个问题,可以采用云存储备份的方式。云存储备份是指在云服务器上部署备份软件,当用户需要备份数据时,通过云存储备份软件将数据备份到云服务器上。
2023-10-27

如何清除云服务器全部数据记录

首先,用户需要了解如何清除云服务器上的全部数据记录。这可以通过在云服务器上运行应用程序来实现。例如,用户可以使用云服务器提供商提供的清理工具来清除应用程序中的文件和数据,以释放资源。这可以避免数据损坏或丢失,同时也可以节省大量的成本。其次,用户需要注意云服务器的安全性。云服务器通常会使用一些加密技术来保护数据安全。用户
2023-10-27

Discuz数据清理指南:如何彻底删除数据?

Discuz数据清理指南:如何彻底删除数据?随着互联网的发展,论坛在网络社区中扮演着重要的角色。而 Discuz! 作为中国最为流行的论坛系统之一,随着用户量的增加,论坛中积累的数据也愈发庞大,数据清理成为维护论坛健康运作的重要环节。本文
Discuz数据清理指南:如何彻底删除数据?
2024-03-11

如何在Redis中实现数据的过期清理

在Redis中,可以通过设置数据的过期时间来实现数据的自动清理。可以通过以下两种方式来设置键的过期时间:使用EXPIRE命令:可以使用EXPIRE命令来设置指定键的过期时间,单位为秒,例如:EXPIRE key seconds这样设置之后
如何在Redis中实现数据的过期清理
2024-03-14

编程热搜

目录