跳到主要内容

Docker 安装指南

由于 Docker 官方仓库 (download.docker.com) 在国内访问极不稳定,本教程全程采用 阿里云 (Aliyun) 镜像源进行安装,确保下载速度快且成功率高。

ℹ️ 信息
适用系统: Ubuntu 18.04/20.04/22.04/24.04 及 Debian 10/11/12
权限要求: 请使用 root 用户或具有 sudo 权限的账号。

1. 环境清理

在安装新版本前,建议清理系统中可能存在的旧版本或冲突包。

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do 
sudo apt-get remove $pkg;
done

2. 安装 Docker Engine

我们提供两种方案,推荐使用方案 A(官方脚本+国内参数),简单且兼容性最好。

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

使用 Docker 官方安装脚本,并通过 --mirror 参数指定使用阿里云镜像源。

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

⚠️ 注意
如果不加 --mirror Aliyun,脚本会尝试连接官方源,极大概率会超时失败。

方案 B:手动添加阿里云源安装

如果脚本执行失败,请按以下步骤手动配置软件源:

  1. 安装必要工具:

    sudo apt-get update
    sudo apt-get install -y ca-certificates curl gnupg
  2. 配置阿里云 GPG 密钥:

    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg

    (注:Debian 用户如果报错,请将命令中的 ubuntu 改为 debian)

  3. 写入软件源列表:

    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/$(. /etc/os-release && echo "$ID") \
    $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  4. 更新并安装:

    sudo apt-get update
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3. 关键配置:镜像加速与代理

安装完成后,必须配置国内镜像加速,否则拉取镜像(如 docker pull)会极其缓慢或超时。

编辑 Docker 配置文件:

sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

将以下内容写入文件。这里提供了一份生产环境推荐配置(包含镜像加速 + 局域网 HTTP 代理配置示例):

{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1panel.live",
"https://hub.rat.dev"
],
"proxies": {
"http-proxy": "http://127.0.0.1:7999",
"https-proxy": "http://127.0.0.1:7999",
"no-proxy": "localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,172.16.0.0/12"
}
}

🛑 警告
注意:

  1. proxies 字段是可选的。如果你没有 HTTP 代理,请删除整个 proxies 块,否则 Docker 会连不上网。
  2. 如果使用代理,请务必将 127.0.0.1:7999 替换为你使用的代理端口。

保存文件后,重启服务使配置生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

4. 非 Root 用户权限配置 (可选)

如果你希望在普通用户(如 ubuntu)下直接运行 docker 命令,而不需要每次都输 sudo

sudo usermod -aG docker $USER
newgrp docker

5. 验证安装

运行 Hello World 容器来验证一切是否正常。

docker run --rm hello-world

验证标准:

  1. 看到 Unable to find image... 后,下载进度条走得很快(说明镜像加速生效)。
  2. 输出 Hello from Docker!(说明服务运行正常)。

常用命令

docker -v               # 查看 Docker 版本
docker compose version # 查看 Docker Compose 版本
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器(包括停止的)
docker exec -it <容器名> bash # 进入指定容器的 bash
docker logs -f <容器名> # 查看指定容器日志
docker system prune -a # 清理无用数据,释放空间