当前位置: 首页 > news >正文

Docker Desktop 使用操作指南

1. 为什么要用 Docker Desktop?

可以把 Docker 想成**“应用的集装箱”**:

  • 在现实世界,集装箱可以装任何货物(食品、电子产品、服装…),无论船、火车还是卡车运输,都能保证里面的东西不会变。

  • 在软件世界,Docker 容器可以装任何软件(网站、数据库、Python 程序…),无论运行在 Windows、Mac 还是 Linux,效果都一样,不会因为环境不同而“跑不起来”。

对开发者的好处:

  • 不脏主机:不用在自己的电脑装一堆复杂的软件环境。

  • 快速部署:打包好直接发给别人用,不用担心“环境不一致”。

  • 跨平台:相同的容器,可以从你电脑直接搬到服务器或云端运行。


2. Docker Desktop 的原理(比喻篇)

现实中的物流体系:
  1. 集装箱码头 → 存放集装箱的地方(相当于 Docker 镜像仓库)

  2. 集装箱起重机 → 把集装箱装上船/卸下船(相当于 Docker 引擎)

  3. 集装箱运输车 → 运输集装箱到目的地(相当于容器运行环境)

在 Docker Desktop 中:
  1. 镜像仓库(Registry)

    • 比如 Docker Hub,存放各种“装好软件的集装箱”。

  2. Docker 引擎(Docker Engine)

    • 像起重机一样,把镜像(集装箱)搬到运行环境里。

  3. 容器(Container)

    • 就是运行起来的应用实例(集装箱在路上运输或已送到工厂使用)。

  4. 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
  1. 从官网下载安装(像给自己装一个“集装箱港口”)。

  2. 打开后,右下角出现小鲸鱼图标 → 绿色表示港口已经正常运作。

第二步:拉取镜像(相当于“从码头取集装箱”)
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] ← 映射 → [本地端口]

再配一张现实“港口 + 集装箱”的照片对比,让小白一眼就懂。

http://www.dtcms.com/a/322526.html

相关文章:

  • 费米问题:估算北京有多少量特斯拉汽车?
  • 虚拟机Ubuntu重启发现找不到共享文件夹
  • 202506 电子学会青少年等级考试机器人一级理论综合真题
  • 「iOS」————响应者链与事件传递链
  • 【工具变量】全国省级农业保险保费收入与赔付支出数据更新(2001-2023年)
  • wsl ubuntu访问(挂载)vmware vmdk磁盘教程
  • React Native jpush-react-native极光推送 iOS生产环境接收不到推送
  • [Oracle] ADD_MONTHS()函数
  • 可直接运行的 Playwright C# 自动化模板
  • day22|学习前端ts语言
  • 我想做自动化报社保,用哪种技术更好一点呢?
  • 7_基于深度学习的安全帽检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • 微信原生小程序 Timeline 组件实现
  • 论文阅读-ZeroDCE和ZeroDCE++
  • 力扣-34.在排序数组中查找元素的第一个和最后一个位置
  • 【排序算法】③直接选择排序
  • 深入解析 Apache APISIX 在微服务网关中的性能优化实践指南
  • C语言(10)——结构体、联合体、枚举
  • ARM体系结构
  • cross-env dotenv
  • 【QuPath 】QuPath 批量提取 SVS 文件元数据脚本
  • NLP:Transformer输出部分
  • DigitalProductId解密算法php调试版piddebug.php
  • Day02 员工管理,分类管理
  • 【线性代数】其他
  • 【Redis7.x】docker配置主从+sentinel监控遇到的问题与解决
  • 【LeetCode 热题 100】(六)矩阵
  • 解决本地连接服务器ollama的错误
  • 网站站长如何借助php推送示例提交网站内容加速百度收录?
  • 【26】C#实战篇—— 多个线程函数对同一个 Excel 文件进行写操作引起的文件冲突问题,解决方法