Ubuntu20 安装Docker清理镜像和缓存

在使用Docker进行容器化部署时,我们经常需要安装和管理Docker镜像。然而,随着时间的推移,我们可能会积累大量的无用或过期的镜像和缓存文件,这不仅占用了磁盘空间,还可能导致性能下降。因此,定期清理Docker镜像和缓存是非常有必要的。本文将介绍如何在Ubuntu20上安装Docker,并提供清理镜像和缓存的示例代码。

安装Docker

首先,我们需要安装Docker。在Ubuntu20上,可以通过以下步骤来安装Docker:

  1. 更新系统软件包:
sudo apt update
  1. 安装必要的软件包,以便可以通过HTTPS使用仓库:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
  1. 添加Docker官方的GPG密钥:
curl -fsSL  | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. 添加Docker仓库:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 更新软件包列表:
sudo apt update
  1. 安装Docker:
sudo apt install docker-ce docker-ce-cli containerd.io
  1. 启动Docker服务:
sudo systemctl start docker
  1. 添加当前用户到docker用户组,以便无需使用sudo来运行Docker命令:
sudo usermod -aG docker $USER

请注意,安装Docker可能需要一些时间,请耐心等待。

清理镜像和缓存

一旦Docker安装完成,我们可以开始清理镜像和缓存。Docker提供了一组命令来管理镜像和缓存,以下是一些常用的命令:

  • 清理无用的镜像和容器:
docker system prune

该命令将清理所有没有关联容器的镜像和停止的容器。

  • 清理所有未使用的镜像、容器、网络和数据卷:
docker system prune -a

该命令将清理所有未使用的镜像、容器、网络和数据卷。

  • 清理未使用的镜像和容器,但保留至少一个镜像的所有标签:
docker image prune -a

该命令将清理所有未使用的镜像和容器,但会保留至少一个镜像的所有标签。

  • 清理所有未使用的缓存和构建残留:
docker builder prune

该命令将清理所有未使用的缓存和构建残留。

请注意,这些命令将直接删除镜像和缓存文件,请谨慎操作。

为了避免手动执行这些命令,我们可以编写一个定时任务来自动清理镜像和缓存。下面是一个示例的Shell脚本:

#!/bin/bash

# 清理无用的镜像和容器
docker system prune -f

# 清理所有未使用的缓存和构建残留
docker builder prune -f

将上述代码保存为cleanup.sh文件,并使用crontab设置定时任务:

crontab -e

在打开的编辑器中添加以下行,表示每天凌晨3点运行清理脚本:

0 3 * * * /path/to/cleanup.sh

保存并关闭编辑器,这样每天凌晨3点,Docker将自动清理镜像和缓存。

希望本文能帮助您安装Docker并学习如何清理镜像和缓存。通过定期清理,您可以保持Docker环境的整洁和高效。