Docker Desktop 入门教程(Windows & macOS)

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


一、Docker Desktop 简介

Docker Desktop 是 Docker 官方提供的桌面应用,支持 Windows 和 macOS 系统,集成了 Docker Engine、Docker CLI、Kubernetes、可视化界面等功能,方便开发者快速构建、运行和管理容器化应用。


二、安装 Docker Desktop

✅ 安装步骤:

  1. 下载地址

  2. Windows 用户

    • 安装前确保已启用 WSL2(Windows Subsystem for Linux 2)
    • 下载 .exe 文件并运行安装程序,按提示一步步安装即可。
  3. macOS 用户

    • 下载 .dmg 文件,拖拽 Docker 应用到 Applications 文件夹。
    • 双击启动 Docker Desktop。
  4. 首次启动

    • 启动后会自动配置 Docker Engine。
    • 登录 Docker Hub 账号(可选)。

三、Docker Desktop 界面介绍

启动 Docker Desktop 后,你会看到主界面分为几个主要模块:

  1. Containers / 容器
    • 显示当前运行和已停止的容器。
  2. Images / 镜像
    • 显示本地已下载或构建的镜像。
  3. Volumes / 数据卷
    • 查看和管理持久化数据卷。
  4. Settings / 设置
    • 可配置 Docker Engine、资源限制、Kubernetes 等。

四、基本概念讲解

名称 说明
Image 镜像是一个只读模板,用于创建容器(例如:nginx, redis, python:3.9
Container 容器是镜像的一个运行实例(你可以启动、停止、删除容器)
Dockerfile 用于定义如何构建镜像的文本文件
Volume 用于持久化容器数据,避免容器删除后数据丢失
Network 容器之间通信的网络环境

五、创建第一个容器(以 Nginx 为例)

方法一:通过 Docker CLI(命令行)

  1. 打开终端(Windows 使用 PowerShell / WSL,macOS 使用 Terminal)
  2. 拉取镜像并运行容器:
bash 复制代码
docker run -d -p 8080:80 --name mynginx nginx
  • -d:后台运行
  • -p 8080:80:将宿主机的 8080 端口映射到容器的 80 端口
  • --name mynginx:给容器命名
  • nginx:使用的镜像名
  1. 打开浏览器访问:

    复制代码
    http://localhost:8080

方法二:通过 Docker Desktop 界面

  1. 进入 Images 页面
  2. 找到 nginx 镜像(如果没有,可以点击"Pull"拉取)
  3. 点击 Run 按钮
  4. 在弹出的窗口中设置:
    • Container name: mynginx
    • Port mapping: 8080:80
    • 点击 Run

六、常用操作指南

1. 查看运行中的容器

  • 进入 Containers 页面,查看所有运行中的容器。
  • 可以点击容器名进入详情页,查看日志、终端、端口等信息。

2. 停止 / 删除容器

  • 点击容器右边的 ❌ 按钮停止容器。
  • 再次点击垃圾桶图标删除容器。

3. 查看容器日志

  • 点击容器名 → 点击 "Logs" 标签页,查看容器输出日志。

4. 进入容器终端

  • 点击容器名 → 点击 "CLI" 或 "Open in Terminal" 进入容器的命令行界面。

七、构建自己的镜像(使用 Dockerfile)

示例:创建一个简单的 Python Web 应用

  1. 创建项目目录,结构如下:

    myapp/

    ├── app.py
    └── Dockerfile

  2. 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)
  1. Dockerfile 内容:
dockerfile 复制代码
FROM python:3.9-slim
WORKDIR /app
COPY app.py .
EXPOSE 5000
CMD ["python", "app.py"]
  1. 构建镜像:
bash 复制代码
docker build -t myapp .
  1. 运行容器:
bash 复制代码
docker run -d -p 5000:5000 myapp
  1. 浏览器访问:

    复制代码
    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 Compose 管理多个服务(如 MySQL + Redis + Web 应用)的部署。

如需进一步学习 Docker Compose,请告诉我,我可以为你生成一份详细教程!

祝你学习愉快,早日成为 Docker 高手!🚀