Docker 是一种开源的容器化平台,它允许开发人员在独立、轻量级的容器中打包、分发和运行应用程序。本教程将详细介绍在 Windows 环境下安装 Docker Desktop 的完整步骤,包括系统准备、安装配置、镜像加速设置以及基本使用方法。
由于主流的 AI 应用有相当一部分是通过 Docker 容器化部署的,因此本教程将重点介绍在 Windows 环境下安装 Docker Desktop 的步骤,以实现对热门应用的快速体验和二次开发。
前置教程
如想快速开始学习本教程,你可能需要先完成以下前置教程:
- Windows环境下安装WSL2及Conda教程,WSL2 是 Docker Desktop 在 Windows 上运行 Linux 容器的后端依赖,本节教程假设你已经安装并配置了 WSL2。
资源下载
- Docker Desktop for Windows 官网下载地址
- Docker Desktop for Windows 网盘下载地址-解决网络环境不佳下载过慢的问题
1. Docker 概念与原理
1.1 什么是 Docker
Docker 是一个基于 Linux 内核的容器化平台,它利用操作系统层面的虚拟化技术将应用程序及其所有依赖项打包到一个称为"容器"的独立单元中。与传统的虚拟机不同,Docker 容器共享宿主机的操作系统内核,不需要为每个容器单独运行一个完整的操作系统。
1.2 Docker 核心概念
| 概念 | 说明 | 类比 |
|---|---|---|
| 镜像 Image | 一个只读的模板,包含运行应用所需的文件系统、依赖项、配置等 | 类似虚拟机中的 ISO 安装镜像或面向对象编程中的类 |
| 容器 Container | 基于镜像创建的运行实例,是隔离的应用程序进程 | 类似虚拟机实例或面向对象编程中的对象 |
| Dockerfile | 文本文件,定义了如何构建镜像的指令集 | 类似自动化安装脚本 |
| 仓库 Repository | 存放镜像的中央存储库,Docker Hub 是默认的公共仓库 | 类似 GitHub 但存储的是镜像而非源代码 |
| Docker Engine | Docker 的核心运行时,负责构建、运行和管理容器 | 类似虚拟化平台中的 Hypervisor |
1.3 Docker Desktop for Windows
Docker Desktop 是 Docker 官方提供的桌面应用程序,它为 Windows 和 macOS 用户提供了完整的 Docker 环境。在 Windows 上,Docker Desktop 默认使用 WSL2 作为后端,这意味着它实际上在 WSL2 的 Linux 内核上运行 Linux 容器,而不是直接在 Windows 内核上运行。
Docker Desktop 是目前在 Windows 上使用 Docker 的最简便方式。它集成了 Docker Engine、Docker CLI、Docker Compose 和图形化管理界面,安装完成后即可通过命令行或图形界面管理容器。
2. 系统要求
Docker Desktop for Windows 需要满足以下系统要求:
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 64位(22H2 或更高版本)或 Windows 11 |
| WSL2 | 必须安装并配置 WSL2 作为后端 |
| 虚拟化 | BIOS/UEFI 中必须开启虚拟化技术(VT-x/AMD-V) |
| 内存 | 建议 8GB 以上 |
| 磁盘 | 建议 SSD,至少 10GB 可用空间 |
3. 下载与安装 Docker Desktop
3.1 下载 Docker Desktop
- 在 Docker Desktop 官网或网盘(解决网络环境不佳下载过慢的问题)中下载安装程序
- 下载完成后会得到一个名为
Docker Desktop Installer.exe的安装程序文件
3.2 安装 Docker Desktop
- 双击下载的
Docker Desktop Installer.exe文件,启动安装程序 - 按照安装程序的提示,点击
Next和Accept,同意许可协议 - 选择安装位置,点击
Next,默认安装在 C 盘 - 点击
Install,开始安装 Docker Desktop - 安装过程中,安装程序会自动启用 WSL2 集成(如果之前未配置)
- 安装完成后,点击
Finish,关闭安装程序 - Docker Desktop 会自动启动,在系统托盘中会显示 Docker 鲸鱼图标
3.3 验证安装
安装完成后,在 PowerShell 或 Windows 命令提示符中运行:
docker version
如果显示如下信息(具体版本号可能不同),则说明 Docker 已成功安装:
Client:
Version: 27.0.3
...
Server:
Engine:
Version: 27.0.3
如果 docker version 输出中 Server 部分显示"Cannot connect to the Docker daemon",说明 Docker Desktop 尚未完全启动,等待系统托盘的鲸鱼图标停止动画后重试。
3.4 配置镜像加速
由于网络原因,直接从 Docker Hub 拉取镜像可能速度较慢。通过配置镜像加速器,可以显著提高镜像下载速度。
- 打开 Docker Desktop
- 点击右上角
齿轮图标进入设置界面 - 在左侧导航栏中选择
Docker Engine - 在右侧的 JSON 编辑框中,添加
registry-mirrors配置:{ "registry-mirrors": [ "https://docker.1ms.run" ] } - 点击
Apply & Restart,应用配置并重启 Docker 服务
其他可用的镜像加速地址:
| 加速器地址 | 提供方 |
|---|---|
https://docker.1ms.run |
1ms 镜像 |
https://docker.xuanyuan.me |
轩辕镜像 |
https://docker.m.daocloud.io |
DaoCloud 镜像 |
镜像加速器的可用性会随时间变化,如发现某个地址失效,可以更换为其他地址。配置多个镜像地址时,Docker 会依次尝试直到成功拉取。
4. Docker 的基本使用
4.1 基础 CLI 命令
Docker 的所有操作都通过 docker 命令完成,你可以在 PowerShell 或 CMD 中测试,由于篇幅限制,这里仅列出最常用的 Docker 命令,先做了解即可:
镜像管理:
| 命令 | 说明 | 示例 |
|---|---|---|
docker pull |
从仓库拉取镜像 | docker pull ubuntu:22.04 |
docker images |
列出本地镜像 | docker images |
docker rmi |
删除本地镜像 | docker rmi ubuntu:22.04 |
docker build |
从 Dockerfile 构建镜像 | docker build -t my-app . |
容器管理:
| 命令 | 说明 | 示例 |
|---|---|---|
docker run |
创建并启动容器 | docker run -d -p 80:80 nginx |
docker ps |
列出运行中的容器 | docker ps(加 -a 列出所有容器) |
docker stop |
停止容器 | docker stop container_id |
docker start |
启动已停止的容器 | docker start container_id |
docker rm |
删除容器 | docker rm container_id |
docker logs |
查看容器日志 | docker logs container_id |
docker exec |
在运行中的容器内执行命令 | docker exec -it container_id bash |
4.2 使用 Docker Compose
Docker Compose 是 Docker 官方提供的多容器编排工具,通过一个 docker-compose.yml 文件定义和运行多个容器。Docker Desktop 已预装 Docker Compose。
以下是一个示例 docker-compose.yml,同时运行 Nginx Web 服务器和 MySQL 数据库:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: app_db
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
在 docker-compose.yml 所在目录下运行:
docker compose up -d
此命令会在后台启动所有定义的服务。使用以下命令管理:
| 命令 | 说明 |
|---|---|
docker compose up -d |
后台启动所有服务 |
docker compose down |
停止并删除所有服务 |
docker compose ps |
查看服务状态 |
docker compose logs |
查看所有服务的日志 |
docker compose restart |
重启所有服务 |
5. 总结
- Docker 是一种容器化平台,通过容器技术实现应用的轻量级隔离和分发
- Docker 容器与虚拟机的关键区别在于共享宿主机内核,资源占用更少,启动更快
- Docker Desktop for Windows 依赖 WSL2 作为后端,需要在安装前确保 WSL2 已正确配置
- 镜像加速器配置是解决国内网络环境下镜像拉取缓慢的有效手段
- Docker Compose 适合管理多容器应用,通过 YAML 文件定义服务架构
举手提问