Docker Desktop 使用操作指南
1. 为什么要用 Docker Desktop?
可以把 Docker 想成**“应用的集装箱”**:
在现实世界,集装箱可以装任何货物(食品、电子产品、服装…),无论船、火车还是卡车运输,都能保证里面的东西不会变。
在软件世界,Docker 容器可以装任何软件(网站、数据库、Python 程序…),无论运行在 Windows、Mac 还是 Linux,效果都一样,不会因为环境不同而“跑不起来”。
对开发者的好处:
不脏主机:不用在自己的电脑装一堆复杂的软件环境。
快速部署:打包好直接发给别人用,不用担心“环境不一致”。
跨平台:相同的容器,可以从你电脑直接搬到服务器或云端运行。
2. Docker Desktop 的原理(比喻篇)
现实中的物流体系:
集装箱码头 → 存放集装箱的地方(相当于 Docker 镜像仓库)
集装箱起重机 → 把集装箱装上船/卸下船(相当于 Docker 引擎)
集装箱运输车 → 运输集装箱到目的地(相当于容器运行环境)
在 Docker Desktop 中:
镜像仓库(Registry)
比如 Docker Hub,存放各种“装好软件的集装箱”。
Docker 引擎(Docker Engine)
像起重机一样,把镜像(集装箱)搬到运行环境里。
容器(Container)
就是运行起来的应用实例(集装箱在路上运输或已送到工厂使用)。
WSL2 / 虚拟机
在 Windows 上模拟一个“港口”,因为大多数集装箱(容器)是 Linux 格式的。
3. Docker Desktop 的主要构成
组件 | 作用 |
---|---|
Docker Engine | 核心大脑,负责下载、创建、运行和管理容器。 |
Docker CLI | 命令行接口,输入 docker xxx 就是通过 CLI 给引擎下指令。 |
Docker Compose | 批量管理多个容器服务,用一个 docker-compose.yml 描述全部服务运行规则。 |
GUI 面板 | 图形界面版的控制台,可以直接点击管理容器、镜像、网络和存储卷。 |
Registry 支持 | 可以登录 Docker Hub 或私有镜像仓库,方便共享镜像。 |
4. Docker Desktop 操作步骤(带比喻+图解思路)
第一步:安装并启动 Docker Desktop
从官网下载安装(像给自己装一个“集装箱港口”)。
打开后,右下角出现小鲸鱼图标 → 绿色表示港口已经正常运作。
第二步:拉取镜像(相当于“从码头取集装箱”)
docker pull python:3.11-slim
这个命令会从 Docker Hub 拉取一个装好 Python 3.11 环境的镜像(集装箱)。
第三步:运行容器(相当于“把集装箱运到工厂开始生产”)
docker run -it --name mypython python:3.11-slim bash
-it
表示交互模式。--name mypython
给容器取名字。bash
表示运行后进入容器的命令行。
第四步:批量管理(用 Compose 组织多个集装箱)
创建一个 docker-compose.yml
文件:
version: '3' services: web: image: nginx ports: - "8080:80"
运行:
docker compose up -d
停止:
docker compose down
5. Docker Desktop 的用途
本地快速测试:运行数据库、Web 服务等依赖,不污染本机。
微服务开发:多个服务同时跑,方便调试。
跨环境部署:开发机、测试机、线上机统一镜像。
自动化 CI/CD:配合 GitLab CI、Jenkins 做持续集成部署。
6. 常见问题与解决
问题 | 原因 | 解决方案 |
---|---|---|
wsl --update 无法执行 | PATH 缺少 System32 | 添加 C:\Windows\System32 到环境变量 |
拉取镜像很慢 | 网络限制 | 设置国内镜像加速(如阿里云、DaoCloud) |
容器网络不通 | DNS 问题 | 在 Docker Desktop 设置中改 DNS 为 8.8.8.8 |
端口冲突 | 本地已有服务占用端口 | 修改 docker-compose.yml 的端口映射 |
7. 图解思路(建议做成 PDF)
建议画一个这样的结构图,方便你做成 PDF 保存:
[Docker Hub 镜像仓库] ↓ 拉取 [Docker Engine 引擎] ← (CLI/GUI) ↓ 创建 [容器 Container] ← 映射 → [本地端口]
再配一张现实“港口 + 集装箱”的照片对比,让小白一眼就懂。