Linux 安装 Docker 和 Docker Compose
本教程将指导你如何在 Linux 系统上安装 Docker 和 Docker Compose。
系统要求
- Ubuntu 20.04/22.04/24.04 或 Debian 11/12 或 CentOS 7/8
- 64位系统
- 至少 4GB 内存
卸载旧版本
如果系统中已安装旧版本的 Docker,请先卸载:
1
|
sudo apt-get remove docker docker-engine docker.io containerd runc
|
安装 Docker
Docker 提供了三种安装方式:
- 使用便携安装脚本(推荐个人开发环境使用)
- 使用软件源安装(推荐生产环境使用)
- 手动下载安装包安装
方式一:使用便携安装脚本(简单快捷)
这是最简单的安装方式,特别适合个人开发环境。便携脚本是 Docker 官方提供的跨 Linux 发行版通用安装脚本,支持包括 Ubuntu、Debian、CentOS 等主流 Linux 发行版:
1
2
3
4
5
6
7
|
# 下载安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
# 如需使用代理,请使用以下命令
curl -v -x http://你的代理服务器地址:端口 -fsSL https://get.docker.com -o get-docker.sh
# 执行安装
sudo sh get-docker.sh
|
高级用法
- 预览安装步骤(不实际安装):
1
|
sudo sh ./get-docker.sh --dry-run
|
- 安装测试版本(如果需要尝试最新特性):
1
2
|
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
|
- 使用国内镜像源安装(加快安装速度):
1
|
curl -fsSL https://get.docker.com | sudo sh -s -- --mirror Aliyun
|
优点
- 安装过程完全自动化,无需手动配置
- 自动检测系统版本并安装合适的版本
- 跨发行版通用,支持所有主流 Linux 发行版
- 一键安装所有必需组件
- 适合快速搭建开发环境
- 支持自动选择最近的镜像源
注意事项
- 不建议在生产环境使用此方式
- 脚本会自动安装最新版本,可能导致意外的版本升级
- 安装时会自动安装推荐的依赖包,可能会安装较多额外包
- 不支持自定义安装参数
- 需要 root 或 sudo 权限
- 不适合用于已有 Docker 安装的升级
- 建议在安装前使用 –dry-run 选项预览安装步骤
支持的系统
- Ubuntu 18.04+
- Debian 10+
- CentOS 7+
- Fedora 30+
- 以及其他主流 Linux 发行版
方式二:使用软件源安装(推荐生产环境)
Ubuntu/Debian 系统
- 更新软件包并安装必要的依赖:
1
2
|
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
|
- 添加 Docker 官方 GPG 密钥:
1
2
3
|
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
- 添加 Docker 软件源:
1
2
3
4
|
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
- 安装 Docker 和 Docker Compose 插件:
1
2
|
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
方式三:CentOS 系统
- 安装必要的依赖:
1
|
sudo yum install -y yum-utils
|
- 添加 Docker 软件源:
1
|
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
- 安装 Docker 和 Docker Compose 插件:
1
|
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
- 启动 Docker:
1
2
|
sudo systemctl start docker
sudo systemctl enable docker
|
验证安装
- 验证 Docker 安装:
1
|
sudo docker run hello-world
|
- 验证 Docker Compose 安装:
如果能看到版本信息,说明安装成功。
配置非 root 用户使用 Docker
将当前用户添加到 docker 用户组:
1
|
sudo usermod -aG docker $USER
|
注意:添加用户组后需要重新登录才能生效
常见问题
1. 如果遇到权限问题:
1
2
|
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
|
2. 如果无法访问 Docker Hub,可以配置国内镜像源。
3. WSL 环境下的网络问题
如果在 WSL 环境中遇到网络访问问题,可以通过设置系统代理来解决:
1
2
3
4
|
# 将 port 替换为你的实际代理端口
echo 'export http_proxy="http://host.docker.internal:port"' >> ~/.bashrc
echo 'export https_proxy="http://host.docker.internal:port"' >> ~/.bashrc
source ~/.bashrc
|
提示:host.docker.internal 是 Docker 提供的特殊域名,指向 Windows 宿主机。如果访问失败,可以使用实际的 IP 地址替代。
验证代理设置是否生效
1
|
curl -v https://www.google.com
|
卸载
如需卸载 Docker,根据安装方式选择对应的卸载方法:
便携脚本安装的卸载方式
1
2
3
4
5
|
# 卸载 Docker 包
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# 删除数据目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
|
软件源安装的卸载方式
1
2
3
4
5
6
7
8
9
|
# Ubuntu/Debian
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
# CentOS
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
|
参考链接