一、为什么需要 Docker?🤔
在我们一头扎进技术的海洋之前,先花一分钟聊聊 Docker 是什么,以及为什么它几乎是现代开发的必备技能。
简单来说,Docker 就像一个标准化的“魔法集装箱”。它可以把你的应用程序,连同其运行所需的一切——代码、运行时库、环境变量、配置文件等等——一个不落地全部打包进去。
这样,无论你把这个“集装箱”搬到哪里——你的 Windows 电脑、同事的 Mac,还是云端的 Linux 服务器——它都能保证里面的应用以完全相同的方式运行。那句让无数开发者抓狂的“在我电脑上明明是好的!”,从此可以彻底扔进历史的垃圾堆。
对于开发者,尤其是初学者,Docker 能带来立竿见影的好处:
- 告别环境配置噩梦 :一键部署复杂应用,再也不用为各种依赖库的版本冲突而头疼。
- 保持系统纯净 🧼:所有开发环境都隔离在容器里,你的主操作系统可以永远保持清爽。
- 轻松分享与协作 🤝:把你的项目“集装箱”分享给伙伴,他们可以立即运行,无需任何额外配置。
- 迈向云原生 ☁️:Docker 是通往 Kubernetes (K8s)、微服务等更高级云原生技术的第一站和重要基石。
听起来是不是很酷?那就让我们开始动手吧!
本博文视频讲解:【Docker】告别环境配置噩梦:从零到一的安装指南_哔哩哔哩_bilibili
二、下载渠道与版本信息
编者注:请务必从官方渠道下载 Docker,这是保障软件完整性与安全性的第一道防线。
- 官方网站:https://www.docker.com/products/docker-desktop/
官方文档 & 安装指南
三、安装步骤详解 🛠️
Windows 11(安装 Docker Desktop)
启用虚拟化与 WSL 2
- 检查虚拟化:打开任务管理器
Ctrl+Shift+Esc
→ “性能”→“CPU”,确认右下角“虚拟化”状态为“已启用”。 安装/升级 WSL 2(管理员 PowerShell):
wsl --install # 首次安装 wsl --set-default-version 2 wsl --update --web-download # 已安装用户更新内核
完成后重启,再运行
wsl -l -v
确认发行版版本均为 2。- 打开控制面板→ 程序→ 在“启用或关闭 Windows 功能”中勾选
- Virtual Machine Platform(虚拟机平台)
- 适用于 Linux 的 Windows 子系统 (Windows Subsystem for Linux, WSL)
- 重启电脑:根据提示,完成重启以使所有更改生效。
- 检查虚拟化:打开任务管理器
下载并安装 Docker Desktop
- 从官网下载
Docker Desktop Installer.exe
。 - 双击运行安装程序。在向导中,确保勾选 “Use WSL 2 instead of Hyper-V (recommended)” 选项,然后一路“下一步”即可。
- 从官网下载
首次启动与订阅
- 安装完成后启动 Docker Desktop。首次运行时,需要接受订阅服务协议。
- 当系统托盘区的 🐳 小鲸鱼图标静止不动时,就代表 Docker 已经准备就绪!
macOS(安装 Docker Desktop)
方法 1:官方 DMG 安装包
- 从 Docker 官网 根据你的芯片类型 (Intel / Apple Silicon) 下载对应的
.dmg
文件。 - 双击打开
.dmg
文件,将 Docker 图标拖拽到“应用程序”文件夹。 - 在“应用程序”中打开 Docker,根据提示完成授权(可能需要输入管理员密码)。
- 等待菜单栏的 🐳 图标静止,即代表安装成功。
方法 2:Homebrew
如果你的 Mac 还没有安装 Homebrew,请访问 brew.sh 获取并运行其官网提供的一行式安装命令。
确保已安装 Homebrew
如果尚未安装 Homebrew,请在终端运行:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
(Apple Silicon 可选)安装 Rosetta 2
如果你是 M1/M2 芯片,且希望运行一些仅支持 x86 的镜像,建议先安装 Rosetta:softwareupdate --install-rosetta --agree-to-license
通过 Homebrew 安装 Docker Desktop
brew install --cask docker
启动 Docker Desktop
- 在「Launchpad」或「应用程序」中打开 Docker;
- 首次启动时会提示安装网络扩展及要求输入管理员密码,按提示操作即可;
- 启动完成后,菜单栏会出现小鲸鱼图标,表示 Docker 已就绪。
更新与卸载
更新:
brew upgrade --cask docker
卸载:
brew uninstall --cask docker
这样就可通过 Homebrew 快速管理 Docker Desktop 的安装、升级和卸载。
Linux (安装 Docker Engine)
提示:Ubuntu 桌面版用户同样可以安装 Docker Desktop for Linux,以获得图形化界面和一键 K8s 等功能。以下步骤用于安装纯命令行的 Docker Engine。
卸载旧版包(若存在)
如果系统上之前安装过非官方的 Docker 包,或者很老的版本,先卸载它们:# 编者注:此命令会安全地尝试移除所有已知的旧版或冲突包。 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done sudo apt-get autoremove -y
apt-get
可能会报告你没有安装这些包。
- 设置Docker的APT源: 打开终端,先确保系统软件包索引是最新的:
sudo apt-get update
sudo apt-get install ca-certificates curl
然后添加Docker官方的PGP密钥和软件源仓库:
# 添加 Docker 官方 GPG 密钥: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # 添加 Docker 仓库: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo \"$UBUNTU_CODENAME\") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
上述命令将Docker官方源(稳定版stable通道)添加到了APT源列表中。请确保过程无错误输出。如果您使用的是Ubuntu派生发行版(如Linux Mint等),不保证100%兼容。此时源中应能检索到Docker软件包信息。
安装 Docker Engine
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
此命令将安装Docker引擎docker-ce及其CLI、后台依赖containerd和Compose、Buildx插件。下载大小可能几十MB。安装过程中,APT会自动启动Docker服务 (dockerd)。完成后可以通过 sudo systemctl status docker 查看服务状态应为active running。 提示:如需特定版本,可在安装前使用 apt-cache madison docker-ce 查看可用版本,然后通过 sudo apt-get install docker-ce=<版本号> 来安装指定版本。一般情况下直接安装最新版本即可。
启动Docker服务
sudo systemctl start docker # 启动 sudo systemctl enable docker # 开机自启动
四、环境验证:跑个小鲸鱼看看!
docker run hello-world
若看到 Hello from Docker! 字样,说明镜像下载与容器运行均正常。
继续执行:
docker info
可查看版本、镜像/容器数量、存储驱动等详情,是排障利器。
五、配置镜像源
默认情况下,docker pull
会从国外的 Docker Hub 拉取镜像,速度可能非常慢。配置国内镜像加速器是强烈推荐的操作。
配置方法 Docker Desktop (Windows / macOS):
- 点击任务栏或菜单栏的鲸鱼图标,选择
Settings
(设置)。 - 进入
Docker Engine
标签页。 在右侧的 JSON 编辑框中,加入
registry-mirrors
字段。{ "registry-mirrors": [ "https://docker.xuanyuan.me", "https://docker.1ms.run", "https://dislabaiot.xyz", "https://doublezonline.cloud", "https://xdark.top", "https://docker.m.daocloud.io", "https://elastic.m.daocloud.io", "https://gcr.m.daocloud.io", "https://ghcr.m.daocloud.io", "https://k8s-gcr.m.daocloud.io", "https://k8s.m.daocloud.io", "https://mcr.m.daocloud.io", "https://nvcr.m.daocloud.io", "https://quay.m.daocloud.io", "https://ollama.m.daocloud.io" ] }
- 点击右下角的 "Apply & Restart" 按钮,等待 Docker 重启。
配置方法 Docker Engine (Linux):
编辑(或创建)
daemon.json
配置文件。sudo nano /etc/docker/daemon.json
将以下内容写入文件:
{ "registry-mirrors": [ "https://docker.xuanyuan.me", "https://docker.1ms.run", "https://dislabaiot.xyz", "https://doublezonline.cloud", "https://xdark.top", "https://docker.m.daocloud.io", "https://elastic.m.daocloud.io", "https://gcr.m.daocloud.io", "https://ghcr.m.daocloud.io", "https://k8s-gcr.m.daocloud.io", "https://k8s.m.daocloud.io", "https://mcr.m.daocloud.io", "https://nvcr.m.daocloud.io", "https://quay.m.daocloud.io", "https://ollama.m.daocloud.io" ] }
保存文件并退出 (
Ctrl+X
,Y
,Enter
)。然后重启 Docker 服务。sudo systemctl restart docker
六、修改默认文件路径
在 Windows 系统中,IDE 默认会将资源目录或临时文件保存在 C 盘,这容易因为权限受限或空间不足而触发红色错误提示,严重时还可能导致构建失败。我们通过以下步骤,将资源目录移至非系统盘,确保开发环境稳定可靠。
问题说明
- 默认位置:
C:\Users\<用户名>\.your_ide\resources
潜在风险:
- 权限受限:系统盘目录通常需要管理员权限,不利于自动化脚本或非管理员账户操作;
- 空间不足:C 盘多用于系统和应用,剩余空间有限;
- 性能瓶颈:高 I/O 负载下,系统盘可能成为开发时的性能瓶颈。
解决方案
- 点击 docker desktop 窗口右上角的设置图标(⚙️)。
- 在设置对话框左侧,选择 Resources 选项卡。
- 点击中间的蓝色 Browse 按钮,弹出文件夹选择对话框。
在对话框中导航至非系统盘(例如
D:\Docker_Resources
),然后点击 Select Folder。编者注:请务必不要选择 C 盘,推荐使用 SSD 较快的分区或专用磁盘,以获得最佳 I/O 性能。
- 回到设置窗口,点击右下角的 Apply & Restart,让 IDE 重新启动并应用新配置。
七、Docker 卸载与升级指南
完全卸载 Docker
重要提示:卸载会移除所有本地的镜像、容器、卷和网络。如有重要数据,请提前备份!
- Windows (Docker Desktop): 在 "设置" > "应用" > "应用和功能" 中找到 "Docker Desktop" 并点击 "卸载"。
- macOS (Docker Desktop): 打开 Docker Desktop 应用,点击菜单栏的 🐳 图标 > "Troubleshoot" > "Uninstall"。
- Ubuntu (Docker Engine):
```Bash
# 1. 卸载所有相关包
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt-get autoremove -y --purge
# 2. 删除所有数据
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
```
升级 Docker
- Docker Desktop: 应用内置了自动更新功能。当有新版本时,通常会弹出通知。你只需点击通知并按提示操作即可。也可以在菜单中手动点击 "Check for Updates"。
Docker Engine (Ubuntu): 如果你是通过 APT 仓库安装的,升级非常简单,就如同更新其他系统软件一样:
sudo apt-get update sudo apt-get install -y --only-upgrade docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin