Docker 安装配置

Docker 由 Docker Engine(核心守护进程)与配套组件组成:Linux 上通过软件源安装,Windows/macOS 桌面开发用 Docker Desktop。本教程以 Docker Engine 24 及以后的版本、Compose v2(docker compose 子命令形式)为基调。

安装 Docker Engine

Linux 建议先配置 Docker 官方软件源,再通过包管理器安装(下面省略添加源的步骤,按发行版选择命令):

# Debian / Ubuntu(apt)
sudo apt update
sudo apt -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# CentOS / Rocky Linux / AlmaLinux(dnf)
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

其中 docker-ce 是核心引擎,containerd.io 是底层容器运行时,docker-compose-plugin 提供 docker compose 子命令(即 Compose v2)。

启动并验证

启动服务并设置开机自启,再用官方测试镜像跑通一次:

sudo systemctl enable --now docker   # 启动 docker 并设置为开机自启
sudo docker version                  # 查看客户端与服务端版本
# 输出:Client: ... Server: Docker Engine ...
sudo docker run hello-world          # 拉取极小的测试镜像并运行
# 输出:Hello from Docker!

看到 Hello from Docker! 说明守护进程正常、能够拉取镜像并运行容器。

非 root 用户免 sudo

docker 命令默认需要 root 权限,把用户加入 docker 组即可免 sudo:

sudo usermod -aG docker $USER   # 把当前用户加入 docker 组
newgrp docker                   # 立即刷新用户组(或注销后重新登录)
docker ps                       # 此后无需 sudo 即可执行 docker 命令

注意:docker 组内成员权限接近 root(可挂载宿主机目录),生产环境不要随意添加成员。

配置镜像加速

国内直连 Docker Hub 拉镜像较慢,可在 /etc/docker/daemon.json 中配置 registry-mirrors,地址请在各云厂商的容器镜像服务页面获取:

{
  "registry-mirrors": ["https://<各云厂商提供的加速地址>"]
}
sudo systemctl daemon-reload && sudo systemctl restart docker   # 重启使配置生效
docker info    # 在输出中找到 Registry Mirrors 一节即可确认加速是否生效

修改 daemon.json 后必须重启 docker 服务,新配置才会加载。

Windows 与 macOS 简述

桌面环境安装 Docker Desktop:Windows 基于 WSL2 或 Hyper-V,macOS 使用虚拟化技术。安装后即可在终端使用全部 docker 命令,也可以在图形界面的 Settings → Docker Engine 中填写同样的 registry-mirrors 配置。

小结

Linux 用软件源安装 docker-ce 与 compose 插件,systemctl 启动后跑通 docker run hello-world 即安装成功;再把常用用户加入 docker 组免 sudo,并按需配置 registry-mirrors 加速镜像拉取,基础环境就绪。

笔记加载中…