本指南为你提供在 Linux 系统上安装 Docker 和 Docker Compose 的两种最高效方法:一键脚本安装和手动分步安装。无论你是追求速度的开发者,还是希望掌握每个细节的系统管理员,都能找到最适合你的路径。
方式一:一键安装脚本 (推荐)
这是最简单、最快速的方法。Docker 官方提供了一个便捷的安装脚本,可以自动检测你的 Linux 发行版并安装最新版本的 Docker Engine 和 Docker Compose。
只需在你的终端执行以下命令:
执行命令的时候可能会不动 这并不是卡了,请等待一下
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
这个脚本做了什么?
- 探测你的 Linux 发行版(如 Ubuntu, Debian, CentOS 等)。
- 自动配置相应的官方 Docker 软件源。
- 安装最新稳定版的 Docker Engine、CLI、containerd 和 Docker Compose 插件。
安装完成后,直接跳转到 第3步:安装后关键配置 继续。
方式二:手动分步安装
如果你想完全控制安装过程,或者一键脚本无法满足你的特定需求,可以选择手动安装。
1. 准备工作
卸载旧版本
为避免冲突,请先卸载可能存在的旧版 Docker。
- 对于 Ubuntu/Debian:
sudo apt-get remove docker docker-engine docker.io containerd runc
- 对于 CentOS:
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2. 安装 Docker 和 Docker Compose
在 Ubuntu / Debian 上安装
# 1. 更新软件源并安装依赖
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
# 2. 添加 Docker 官方 GPG 密钥
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
# 3. 设置 Docker 的 APT 软件源
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
# 4. 安装 Docker Engine 和 Docker Compose 插件
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
在 CentOS 上安装
# 1. 安装 yum-utils
sudo yum install -y yum-utils
# 2. 添加 Docker 软件源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 3. 安装 Docker Engine 和 Docker Compose 插件
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. 安装后关键配置 (强烈推荐)
无论你使用哪种方式安装,以下配置都至关重要。
步骤 1: 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
📝 命令解析:
systemctl start docker
:启动Docker服务systemctl enable docker
:设置Docker服务开机自启
步骤 2: 配置非 root 用户运行 (免去 sudo
)
为了方便,避免每次都输入 sudo
,建议将当前用户加入 docker
用户组。
sudo usermod -aG docker $USER
📝 命令解析:
usermod -aG
:将用户添加到指定组$USER
:当前用户变量
重要提示: 执行此命令后,你必须完全注销并重新登录系统 (或重启
reboot
),权限变更才能生效!
步骤 3: 配置国内镜像加速器
直接从国外的 Docker Hub 拉取镜像速度很慢,配置国内镜像是必须的。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
📝 命令解析:
mkdir -p
:创建目录,-p参数确保父目录不存在时一并创建tee
:将标准输入写入文件,同时显示在屏幕上systemctl daemon-reload
:重新加载systemd守护进程配置systemctl restart docker
:重启Docker服务
4. 验证安装
完成以上步骤后,来验证一下 Docker 和 Docker Compose 是否都已就绪。
# 检查 Docker 版本
docker --version
# 检查 Docker Compose 版本 (注意中间没有连字符)
docker compose version
# 运行经典的 hello-world 容器
docker run hello-world
📝 命令解析:
docker --version
:显示Docker版本信息docker compose version
:显示Docker Compose版本信息docker run hello-world
:运行hello-world容器,用于验证Docker安装是否成功
当你看到 Hello from Docker!
的消息,并且版本号都能正确显示时,就说明一切都已准备就绪。
5. 使组权限生效
newgrp docker
📝 命令解析:
newgrp
:切换到新的用户组,使组权限立即生效,无需重新登录
📋总结
本教程介绍了在Ubuntu、CentOS和Debian系统上安装Docker的官方方法。安装完成后,您可以:
- 使用
sudo docker run hello-world
验证安装 - 通过
sudo systemctl status docker
检查服务状态 - 参考官方文档学习更多Docker使用方法
评论