Docker 安装指南

2026/11/10 Docker

官网 Guide: https://docs.docker.com/engine/install/


# 核心原则

装 Docker 就三件事:

  1. 用国内源装软件(解决包下载)
  2. 加镜像加速器拉镜像(解决 docker pull)
  3. 用户加 docker 组免 sudo(解决权限)

# 一、选包管理器源(装 Docker 引擎)

Docker 官方源 download.docker.com 在国内大概率连不上,需要替换。

步骤 思路 各系统对应动作
① 找镜像站 搜索"Docker CE 镜像站" 阿里云 / 腾讯云 / 清华 / 中科大 等
② 导入 GPG key 验证包签名 各镜像站会提供对应导入命令
③ 添加仓库 告诉包管理器去哪找 Docker Debian/Ubuntu:写 sources.list.d/*.list RHEL/CentOS:dnf/yum config-manager --add-repo Arch:直接 pacman -S docker(官方源常已包含) Alpine:apk add docker(配好 Alpine 镜像站即可)
④ 刷新并安装 更新索引 → 安装 apt:apt update && apt install docker-ce docker-ce-cli containerd.io dnf:dnf install docker-ce docker-ce-cli containerd.io pacman:pacman -S docker apk:apk add docker

静态二进制方案(任何发行版通用):官网提供静态链接的 docker 二进制文件,下载后直接放到 /usr/bin/ 即可,不依赖包管理器。


# 二、配镜像加速器(拉镜像)

默认 docker pull 走 Docker Hub(registry-1.docker.io),国内被阻断。

思路:告诉 Docker daemon "拉镜像先走国内中转站"

步骤 说明
找加速器 云厂商控制台搜"容器镜像加速器";或搜"公共 Docker 镜像加速"
配置 编辑 /etc/docker/daemon.json,加 registry-mirrors 字段
生效 重启 Docker 服务
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://mirror.baidubce.com"
  ]
}
1
2
3
4
5
6

⚠️ 加速器地址会过期,定期验证 docker pull 是否通畅,失效就换。


# 三、用户权限(免 sudo)

思路:Docker socket 属 root:docker,把用户加入 docker 组即可直接调用。

sudo usermod -aG docker $USER
# 重新登录或 newgrp docker 使组生效
1
2

验证:docker ps 无权限报错即成功。

⚠️ 加入 docker 组 ≈ 获得准 root 权限,仅限个人开发机/虚拟机。


# 四、验证安装

docker run hello-world
1

看到 Hello from Docker! = 安装 + 网络 + 权限全 OK。


# 五、服务管理

大多数现代发行版使用 systemd:

sudo systemctl status docker           # 查看状态
sudo systemctl start docker            # 启动
sudo systemctl restart docker          # 重启
sudo systemctl stop docker             # 停止
sudo systemctl enable --now docker     # 开机自启 + 立即启动
1
2
3
4
5
系统 服务管理器 备注
Ubuntu / Debian / CentOS / RHEL / Rocky / Alma / Fedora systemd 同上命令
Arch / Manjaro systemd 同上
Alpine(默认) openrc rc-update add docker && rc-service docker start
旧 CentOS 6 upstart service docker start

# 六、排错锚点

现象 卡在哪 查什么
装不上 包管理器源 仓库地址对不对、GPG key 是否导入、update 有无报错
curl 连官方 reset 网络不通 换国内源 / 代理
docker run 权限拒绝 用户不在 docker 组 groups 看有没有 docker
docker pull 卡住 / connection refused 加速器没配或失效 docker info 看 Registry Mirrors
配了加速器还是拉不动 地址过期 换一个 / 拿云厂商专属地址

# 七、安全备忘

  • Docker 端口映射会绕过系统防火墙(UFW / firewalld 均如此),这是设计行为
  • 安全做法:绑定本机 docker run -p 127.0.0.1:端口:容器端口
  • 公网机器:靠云安全组 + 不随便映射全端口
  • 真正拦 Docker 流量:写 iptables 的 DOCKER-USER 链

# 一句话记忆

装软件走系统包管理器 + 国内镜像源,拉镜像走 registry-mirrors,权限靠 docker 组,加速器会过期要定期换。