第03章:Docker 安装部署
2026/7/2 20:29:18 网站建设 项目流程

第03章:Docker 安装部署

本章目标:在不同操作系统上完成 Docker 的安装、配置和验证,搭建后续学习的实验环境。


3.1 安装前的准备工作

3.1.1 系统要求

操作系统最低版本推荐版本安装方式
WindowsWindows 10 64-bit (Pro/Enterprise/Education)Windows 11Docker Desktop
macOSmacOS 10.15 (Catalina)macOS 14+Docker Desktop
Ubuntu18.04 LTS22.04 LTSDocker Engine (CE)
CentOS78/Stream 9Docker Engine (CE)
Debian9 (Stretch)12 (Bookworm)Docker Engine (CE)

3.1.2 硬件虚拟化要求

Docker Desktop 在 Windows/macOS 上需要硬件虚拟化支持:

检查方法: 1. 任务管理器 → 性能 → CPU → 虚拟化:已启用 2. 或在 BIOS 中确认以下选项已开启: - Intel: Intel Virtualization Technology (VT-x) - AMD: AMD-V / SVM Mode

3.2 Windows 安装 Docker Desktop

3.2.1 安装步骤

1. 下载 Docker Desktop 访问: https://www.docker.com/products/docker-desktop/ 下载: Docker Desktop for Windows 2. 运行安装程序 - 双击 Docker Desktop Installer.exe - 勾选 "Use WSL 2 instead of Hyper-V"(推荐) - 点击 OK 开始安装 3. 安装完成后重启电脑 4. 启动 Docker Desktop - 从开始菜单启动 - 首次启动需要等待初始化(1-3分钟) - 看到鲸鱼图标变为绿色表示启动成功

3.2.2 WSL 2 后端(推荐)

Windows 上有两种虚拟化后端:

后端说明推荐度
WSL 2使用 Windows Subsystem for Linux 2⭐⭐⭐ 推荐
Hyper-V使用 Windows 原生虚拟化⭐⭐ 传统方案

安装 WSL 2:

# 以管理员身份运行 PowerShell# 启用 WSL 功能wsl--install# 设置 WSL 2 为默认版本wsl--set-default-version 2# 查看 WSL 状态wsl--list--verbose

3.2.3 验证安装

# 打开 PowerShell 或 CMDdocker--version# Docker version 27.x.x, build xxxxxxxdocker compose version# Docker Compose version v2.x.x# 运行测试容器docker run hello-world

3.2.4 配置 Docker 镜像加速

Docker Desktop → Settings → Docker Engine → 添加:

{"registry-mirrors":["https://mirror.ccs.tencentyun.com"]}

3.3 macOS 安装 Docker Desktop

3.3.1 安装步骤

1. 下载 Docker Desktop 访问: https://www.docker.com/products/docker-desktop/ 下载: Docker Desktop for Mac 注意区分芯片: - Apple Silicon (M1/M2/M3/M4): 选择 "Apple Chip" 版本 - Intel: 选择 "Intel Chip" 版本 2. 打开 .dmg 文件 将 Docker.app 拖入 Applications 文件夹 3. 首次启动 - 从 Applications 启动 Docker - 授权必要的系统权限 - 等待初始化完成(状态栏鲸鱼图标变绿)

3.3.2 验证安装

# 打开终端docker--versiondockerrun hello-world

3.3.3 配置镜像加速

Docker Desktop → Settings → Docker Engine → 添加:

{"registry-mirrors":["https://mirror.ccs.tencentyun.com"]}

3.4 Ubuntu 安装 Docker Engine

3.4.1 卸载旧版本(如果有)

# 卸载旧版本的 Dockersudoapt-getremovedockerdocker-engine docker.io containerd runc# 删除旧的依赖sudoapt-getautoremove

3.4.2 安装 Docker Engine(官方源)

# Step 1: 更新 apt 包索引sudoapt-getupdate# Step 2: 安装依赖包sudoapt-getinstall-y\ca-certificates\curl\gnupg\lsb-release# Step 3: 添加 Docker 官方 GPG 密钥sudomkdir-m0755-p/etc/apt/keyringscurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudogpg--dearmor-o/etc/apt/keyrings/docker.gpg# Step 4: 添加 Docker 官方软件源echo\"deb [arch=$(dpkg --print-architecture)signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release-cs)stable"|sudotee/etc/apt/sources.list.d/docker.list>/dev/null# Step 5: 安装 Docker Enginesudoapt-getupdatesudoapt-getinstall-ydocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# Step 6: 将当前用户加入 docker 组(免 sudo)sudousermod-aGdocker$USERnewgrpdocker# 立即生效(或重新登录)

3.4.3 配置镜像加速

# 创建 Docker 配置目录(如果不存在)sudomkdir-p/etc/docker# 写入配置sudotee/etc/docker/daemon.json<<-'EOF' { "registry-mirrors": [ "https://mirror.ccs.tencentyun.com" ], "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" }, "storage-driver": "overlay2" } EOF# 重新加载并重启 Dockersudosystemctl daemon-reloadsudosystemctl restartdockersudosystemctlenabledocker

3.4.4 验证安装

# 检查 Docker 版本docker--version# Docker version 27.x.x, build xxxxxxx# 检查 Docker 信息dockerinfo# 运行测试容器dockerrun hello-world

3.5 CentOS 安装 Docker Engine

3.5.1 卸载旧版本

sudoyum removedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine

3.5.2 安装 Docker Engine

# Step 1: 安装依赖sudoyuminstall-yyum-utils# Step 2: 添加 Docker 官方软件源sudoyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# Step 3: 安装 Docker Enginesudoyuminstall-ydocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# Step 4: 启动并设置开机自启sudosystemctl startdockersudosystemctlenabledocker# Step 5: 将当前用户加入 docker 组sudousermod-aGdocker$USERnewgrpdocker

3.5.3 验证安装

docker--versiondockerrun hello-world

3.6 国内镜像加速配置

3.6.1 为什么需要镜像加速

Docker 默认从 Docker Hub(registry-1.docker.io)拉取镜像。由于网络原因,国内直接访问速度较慢甚至无法连接。

3.6.2 常用镜像加速器

加速器地址状态
腾讯云https://mirror.ccs.tencentyun.com✅ 可用
阿里云https://<your-id>.mirror.aliyuncs.com✅ 需注册
中国科学技术大学https://docker.mirrors.ustc.edu.cn⚠️ 不稳定
清华大学https://docker.mirrors.tuna.tsinghua.edu.cn⚠️ 不稳定

⚠️ 注意:镜像加速器地址可能随时变化,请以官方文档为准。

3.6.3 配置方法

Linux

sudotee/etc/docker/daemon.json<<-'EOF' { "registry-mirrors": [ "https://mirror.ccs.tencentyun.com" ] } EOFsudosystemctl daemon-reloadsudosystemctl restartdocker

Windows/macOS
Docker Desktop → Settings → Docker Engine → 在 JSON 中添加registry-mirrors


3.7 Docker Compose 安装

3.7.1 内置版本(推荐)

Docker Desktop 和较新版本的 Docker Engine 已内置docker compose(注意没有连字符):

# 检查是否已安装dockercompose version# Docker Compose version v2.27.x

3.7.2 独立安装(如果未内置)

# 下载最新版本sudocurl-L"https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose# 赋予执行权限sudochmod+x /usr/local/bin/docker-compose# 验证docker-compose--version

3.8 安装验证清单

完成安装后,运行以下命令确保一切正常:

# 1. Docker 版本docker--version# ✅ 应输出 Docker version 20.10+# 2. Docker Compose 版本dockercompose version# ✅ 应输出 Docker Compose version v2.x+# 3. Docker 详细信息dockerinfo# ✅ 应能看到 Server 版本、存储驱动、内存等信息# ✅ 确认 Storage Driver 是 overlay2# 4. 运行 Hello Worlddockerrun hello-world# ✅ 应输出 "Hello from Docker!"# 5. 拉取一个镜像dockerpull nginx:latest# ✅ 应能正常下载# 6. 运行一个容器dockerrun-d-p8080:80--nametest-nginx nginx:latest# ✅ 应能看到容器 ID# 7. 查看运行中的容器dockerps# ✅ 应能看到 test-nginx 容器在运行# 8. 测试端口映射curlhttp://localhost:8080# ✅ 应能看到 Nginx 的欢迎页面# 9. 清理测试容器dockerstop test-nginxdockerrmtest-nginxdockerrmi nginx:latest

3.9 常见安装问题

问题 1:Docker 启动失败

# 查看 Docker 日志sudojournalctl-udocker.service --no-pager-n50# 常见原因及解决方案:# 1. 端口被占用 → 修改 /etc/docker/daemon.json 中的 hosts 配置# 2. 磁盘空间不足 → 清理磁盘或修改># 3. Cgroup 版本不兼容 → 添加启动参数 --cgroupdriver=systemd

问题 2:permission denied

# 错误: Cannot connect to the Docker daemon# 原因: 当前用户不在 docker 组中sudousermod-aGdocker$USERnewgrpdocker# 或重新登录

问题 3:镜像拉取超时

# 检查网络连接curlhttps://registry-1.docker.io/v2/# 配置镜像加速器(见 3.6 节)# 如果使用代理sudomkdir-p/etc/systemd/system/docker.service.dsudotee/etc/systemd/system/docker.service.d/proxy.conf<<EOF [Service] Environment="HTTP_PROXY=http://proxy:port" Environment="HTTPS_PROXY=http://proxy:port" Environment="NO_PROXY=localhost,127.0.0.1" EOFsudosystemctl daemon-reloadsudosystemctl restartdocker

问题 4:WSL 2 相关问题(Windows)

# 确保 WSL 2 已安装且为默认版本wsl --set-default-version2# 如果 WSL 2 无法启动wsl--updatewsl--shutdown# 关闭所有 WSL 实例后重试

3.10 卸载 Docker

Linux 卸载

# 卸载 Docker Enginesudoapt-getpurge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 删除数据目录sudorm-rf/var/lib/dockersudorm-rf/var/lib/containerdsudorm-rf/etc/docker

Windows 卸载

设置 → 应用 → 搜索 "Docker" → 卸载 Docker Desktop 手动删除: C:\ProgramData\Docker(可选)

macOS 卸载

Applications → 拖动 Docker.app 到废纸篓 手动删除: ~/Library/Group Containers/group.com.docker(可选) 手动删除: ~/Library/Containers/com.docker.docker(可选)

3.11 本章小结

操作系统安装方式备注
WindowsDocker Desktop + WSL 2需要 Pro/Enterprise 版
macOSDocker Desktop区分 Intel/Apple Silicon
UbuntuDocker Engine (CE) 官方源推荐生产环境
CentOSDocker Engine (CE) 官方源CentOS 7/8/Stream

3.12 课后练习

  1. 实操题:在你的操作系统上安装 Docker,完成验证清单中的所有检查。
  2. 配置题:配置镜像加速器,验证拉取速度的提升。
  3. 探索题:阅读/etc/docker/daemon.json,尝试添加debug: true选项,观察日志变化。

📖 下一章:Docker 镜像管理 —— 全面掌握镜像的增删改查

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询