🐳 Docker Desktop 入门教程(Windows & macOS)

一、Docker Desktop 简介
Docker Desktop 是 Docker 官方提供的桌面应用,支持 Windows 和 macOS 系统,集成了 Docker Engine、Docker CLI、Kubernetes、可视化界面等功能,方便开发者快速构建、运行和管理容器化应用。
二、安装 Docker Desktop
✅ 安装步骤:
-
下载地址:
-
Windows 用户:
- 安装前确保已启用 WSL2(Windows Subsystem for Linux 2)
- 下载
.exe
文件并运行安装程序,按提示一步步安装即可。
-
macOS 用户:
- 下载
.dmg
文件,拖拽 Docker 应用到 Applications 文件夹。 - 双击启动 Docker Desktop。
- 下载
-
首次启动:
- 启动后会自动配置 Docker Engine。
- 登录 Docker Hub 账号(可选)。
三、Docker Desktop 界面介绍
启动 Docker Desktop 后,你会看到主界面分为几个主要模块:
- Containers / 容器
- 显示当前运行和已停止的容器。
- Images / 镜像
- 显示本地已下载或构建的镜像。
- Volumes / 数据卷
- 查看和管理持久化数据卷。
- Settings / 设置
- 可配置 Docker Engine、资源限制、Kubernetes 等。
四、基本概念讲解
名称 | 说明 |
---|---|
Image | 镜像是一个只读模板,用于创建容器(例如:nginx , redis , python:3.9 ) |
Container | 容器是镜像的一个运行实例(你可以启动、停止、删除容器) |
Dockerfile | 用于定义如何构建镜像的文本文件 |
Volume | 用于持久化容器数据,避免容器删除后数据丢失 |
Network | 容器之间通信的网络环境 |
五、创建第一个容器(以 Nginx 为例)
方法一:通过 Docker CLI(命令行)
- 打开终端(Windows 使用 PowerShell / WSL,macOS 使用 Terminal)
- 拉取镜像并运行容器:
bash
docker run -d -p 8080:80 --name mynginx nginx
-d
:后台运行-p 8080:80
:将宿主机的 8080 端口映射到容器的 80 端口--name mynginx
:给容器命名nginx
:使用的镜像名
-
打开浏览器访问:
http://localhost:8080
方法二:通过 Docker Desktop 界面
- 进入 Images 页面
- 找到
nginx
镜像(如果没有,可以点击"Pull"拉取) - 点击 Run 按钮
- 在弹出的窗口中设置:
- Container name:
mynginx
- Port mapping:
8080:80
- 点击 Run
- Container name:
六、常用操作指南
1. 查看运行中的容器
- 进入 Containers 页面,查看所有运行中的容器。
- 可以点击容器名进入详情页,查看日志、终端、端口等信息。
2. 停止 / 删除容器
- 点击容器右边的 ❌ 按钮停止容器。
- 再次点击垃圾桶图标删除容器。
3. 查看容器日志
- 点击容器名 → 点击 "Logs" 标签页,查看容器输出日志。
4. 进入容器终端
- 点击容器名 → 点击 "CLI" 或 "Open in Terminal" 进入容器的命令行界面。
七、构建自己的镜像(使用 Dockerfile)
示例:创建一个简单的 Python Web 应用
-
创建项目目录,结构如下:
myapp/
│
├── app.py
└── Dockerfile -
app.py
内容:
python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello from Docker!"
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000)
Dockerfile
内容:
dockerfile
FROM python:3.9-slim
WORKDIR /app
COPY app.py .
EXPOSE 5000
CMD ["python", "app.py"]
- 构建镜像:
bash
docker build -t myapp .
- 运行容器:
bash
docker run -d -p 5000:5000 myapp
-
浏览器访问:
http://localhost:5000
八、数据卷挂载(Volume)
如果你希望容器内的数据持久化保存,可以使用 Volume。
bash
docker run -d -p 5000:5000 \
-v $(pwd)/data:/app/data \
--name myapp myapp
$(pwd)/data
:宿主机上的目录/app/data
:容器中的目录
九、网络配置
Docker 会自动为容器分配 IP,也可以自定义网络:
bash
docker network create mynetwork
docker run --network mynetwork --name app1 -d myapp
docker run --network mynetwork --name app2 -d anotherapp
十、常见问题
问题 | 解决方法 |
---|---|
容器无法访问? | 检查端口是否映射正确,防火墙是否放行 |
容器启动失败? | 查看日志:docker logs 容器名 |
构建失败? | 检查 Dockerfile 语法,是否缺少依赖 |
磁盘空间不足? | 清理无用镜像和容器:docker image prune -a / docker container prune |
十一、进阶学习建议
- 学习使用 Docker Compose 管理多容器应用
- 探索 Kubernetes 集成(Docker Desktop 支持内置)
- 学习编写多阶段构建的 Dockerfile
- 探索 CI/CD 中使用 Docker 构建部署流程
十二、推荐资源
- Docker 官方文档:https://docs.docker.com/
- Docker Hub:https://hub.docker.com/
- 《Docker --- 从入门到实践》中文手册:https://juejin.cn/post/6844903446697938958
- 视频课程推荐:B站、YouTube 搜索 "Docker 入门"
如果你已经掌握本教程内容,可以尝试使用 Docker Compose 管理多个服务(如 MySQL + Redis + Web 应用)的部署。
如需进一步学习 Docker Compose,请告诉我,我可以为你生成一份详细教程!
祝你学习愉快,早日成为 Docker 高手!🚀