Skip to content

本指南为你提供在 Linux 系统上安装 Docker 和 Docker Compose 的两种最高效方法:一键脚本安装手动分步安装。无论你是追求速度的开发者,还是希望掌握每个细节的系统管理员,都能找到最适合你的路径。

方式一:一键安装脚本 (推荐)

这是最简单、最快速的方法。Docker 官方提供了一个便捷的安装脚本,可以自动检测你的 Linux 发行版并安装最新版本的 Docker Engine 和 Docker Compose。

只需在你的终端执行以下命令:

执行命令的时候可能会不动 这并不是卡了,请等待一下

bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

这个脚本做了什么?

  1. 探测你的 Linux 发行版(如 Ubuntu, Debian, CentOS 等)。
  2. 自动配置相应的官方 Docker 软件源。
  3. 安装最新稳定版的 Docker Engine、CLI、containerd 和 Docker Compose 插件

安装完成后,直接跳转到 第3步:安装后关键配置 继续。


方式二:手动分步安装

如果你想完全控制安装过程,或者一键脚本无法满足你的特定需求,可以选择手动安装。

1. 准备工作

卸载旧版本

为避免冲突,请先卸载可能存在的旧版 Docker。

  • 对于 Ubuntu/Debian:
    bash
    sudo apt-get remove docker docker-engine docker.io containerd runc
  • 对于 CentOS:
    bash
    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 上安装

bash
# 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 上安装

bash
# 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 并设置开机自启

bash
sudo systemctl start docker
sudo systemctl enable docker

📝 命令解析

  • systemctl start docker:启动Docker服务
  • systemctl enable docker:设置Docker服务开机自启

步骤 2: 配置非 root 用户运行 (免去 sudo)

为了方便,避免每次都输入 sudo,建议将当前用户加入 docker 用户组。

bash
sudo usermod -aG docker $USER

📝 命令解析

  • usermod -aG:将用户添加到指定组
  • $USER:当前用户变量

重要提示: 执行此命令后,你必须完全注销并重新登录系统 (或重启 reboot),权限变更才能生效!

步骤 3: 配置国内镜像加速器

直接从国外的 Docker Hub 拉取镜像速度很慢,配置国内镜像是必须的。

bash
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 是否都已就绪。

bash
# 检查 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. 使组权限生效

bash
newgrp docker

📝 命令解析

  • newgrp:切换到新的用户组,使组权限立即生效,无需重新登录

📋总结

本教程介绍了在Ubuntu、CentOS和Debian系统上安装Docker的官方方法。安装完成后,您可以:

  1. 使用 sudo docker run hello-world 验证安装
  2. 通过 sudo systemctl status docker 检查服务状态
  3. 参考官方文档学习更多Docker使用方法

📚参考资料