安装与卸载Docker

安装Docker

一行命令安装docker:

1
bash <(curl -sSL https://xuanyuan.cloud/docker.sh)

Docker私服安装Harbor的CA证书

Linux

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1. 获取Harbor服务器的证书
openssl s_client -connect harbor.chengyun.local:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM > harbor-cert.pem

# 2. 创建Docker证书目录
sudo mkdir -p /etc/docker/certs.d/harbor.chengyun.local

# 3. 复制证书到Docker信任目录
sudo cp harbor-cert.pem /etc/docker/certs.d/harbor.chengyun.local/ca.crt

# 4. 同时添加到系统CA证书(可选但推荐)
sudo cp harbor-cert.pem /usr/local/share/ca-certificates/harbor.chengyun.local.crt
sudo update-ca-certificates

# 5. 重启Docker服务
sudo systemctl restart docker

Windows

1
2
# 在git Bash中执行以下命令
echo | openssl s_client -connect harbor.chengyun.local:443 -servername harbor.chengyun.local 2>/dev/null | openssl x509 > harbor-ca.crt

把这个 harbor-ca.crt 作为根 CA 安装到“受信任的根证书颁发机构”

  1. 在文件资源管理器中双击 harbor-ca.crt
  2. 点击 “安装证书…”
  3. 选择 “本地计算机” → 下一步
  4. 选择 “将所有证书放入下列存储” → 点击“浏览”
  5. 选择 “受信任的根证书颁发机构” → 确定 → 下一步 → 完成
  6. 输入管理员密码(如有)
  7. 重启 Docker Desktop

卸载Docker

在软件开发和运维过程中,Docker 作为容器化技术的核心工具被广泛使用。然而,当需要升级 Docker 版本、切换容器引擎(如转向 Podman)或清理系统资源时,不完全卸载 Docker可能导致残留文件占用磁盘空间、配置冲突或版本兼容性问题。例如,残留的/var/lib/docker目录可能占用数十 GB 空间,未清理的网络规则可能干扰新容器网络,注册表项残留可能导致重装 Docker 时出现 “已安装” 错误。本文将从基础卸载到深度清理,提供跨操作系统(Linux、Windows、macOS)的完整方案,确保 Docker 及其组件被彻底移除。

关键数据备份

在卸载前,需确认是否保留容器、镜像、卷或配置文件:

容器与镜像:使用docker save -o images.tar <镜像名>导出重要镜像,docker export -o container.tar <容器ID>导出容器文件系统。
卷数据:Docker 卷默认存储在/var/lib/docker/volumes/(Linux)需手动备份关键卷目录。
配置文件:备份/etc/docker/daemon.json(Linux)、~/.docker/config.json(用户配置)等文件,避免误删自定义配置。

风险提示

数据丢失风险:未备份的容器、镜像和卷将被永久删除,卸载前务必确认无需保留数据。
系统稳定性风险:手动删除核心目录(如/var/lib/docker)或修改注册表可能导致系统异常,建议严格按照步骤操作。
依赖影响:若其他工具(如 Kubernetes、CI/CD 流水线)依赖 Docker,卸载后需同步更新相关配置。

Ubuntu卸载

停止 Docker 服务与进程

首先停止 Docker 相关服务,避免卸载时文件被占用:

1
2
3
4
5
# 停止Docker服务
sudo systemctl stop docker docker.socket containerd.service

# 确认服务已停止
sudo systemctl status docker # 应显示“inactive”

移除 Docker 包

使用apt彻底卸载 Docker 组件,包括引擎、CLI、容器运行时等:

1
2
3
4
5
# 卸载Docker包
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-scan-plugin

# 自动清理未使用依赖
sudo apt autoremove -y

删除残留文件与目录

Docker 的核心数据、配置和日志文件不会随包管理器自动删除,需手动清理:

1
2
3
4
5
6
7
8
9
10
11
# 删除核心数据目录(镜像、容器、卷等)
sudo rm -rf /var/lib/docker /var/lib/containerd

# 删除配置文件
sudo rm -rf /etc/docker /etc/default/docker

# 删除用户配置
rm -rf ~/.docker

# 删除日志文件
sudo rm -rf /var/log/docker /var/log/containerd

Linux 系统(CentOS/RHEL)

停止服务与进程

1
2
sudo systemctl stop docker containerd
sudo systemctl disable docker containerd # 禁止开机自启

移除 Docker 包

使用yumdnf卸载:

1
2
sudo yum remove -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo yum autoremove -y

清理残留文件

1
2
3
sudo rm -rf /var/lib/docker /var/lib/containerd /etc/docker ~/.docker
sudo rm -rf /usr/lib/systemd/system/docker.service /usr/lib/systemd/system/docker.socket
sudo systemctl daemon-reload # 刷新systemd配置