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:手动添加阿里云源安装
如果脚本执行失败,请按以下步骤手动配置软件源:
-
安装必要工具:
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg -
配置阿里云 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) -
写入软件源列表:
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 -
更新并安装:
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"
}
}
🛑 警告
注意:
proxies字段是可选的。如果你没有 HTTP 代理,请删除整个 proxies 块,否则 Docker 会连不上网。- 如果使用代理,请务必将
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
验证标准:
- 看到
Unable to find image...后,下载进度条走得很快(说明镜像加速生效)。 - 输出
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 # 清理无用数据,释放空间