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

Docker Desktop 入门教程(Windows macOS)

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


在这里插入图片描述

一、Docker Desktop 简介

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


二、安装 Docker Desktop

✅ 安装步骤:

  1. 下载地址

    • 官网:https://www.docker.com/products/docker-desktop/
  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. 拉取镜像并运行容器:
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
  1. app.py 内容:
from flask import Flaskapp = Flask(__name__)@app.route('/')
def hello():return "Hello from Docker!"if __name__ == "__main__":app.run(host='0.0.0.0', port=5000)
  1. Dockerfile 内容:
FROM python:3.9-slim
WORKDIR /app
COPY app.py .
EXPOSE 5000
CMD ["python", "app.py"]
  1. 构建镜像:
docker build -t myapp .
  1. 运行容器:
docker run -d -p 5000:5000 myapp
  1. 浏览器访问:
    http://localhost:5000
    

八、数据卷挂载(Volume)

如果你希望容器内的数据持久化保存,可以使用 Volume。

docker run -d -p 5000:5000 \-v $(pwd)/data:/app/data \--name myapp myapp
  • $(pwd)/data:宿主机上的目录
  • /app/data:容器中的目录

九、网络配置

Docker 会自动为容器分配 IP,也可以自定义网络:

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 高手!🚀

http://www.xdnf.cn/news/1154503.html

相关文章:

  • Elasticsearch 简化指南:GCP Google Compute Engine
  • 相似度计算
  • COGNEX康耐视IS5403-01智能相机加Navitar 18R00 LR1010WM52镜头
  • IP协议介绍
  • GPT-4o mini TTS:领先的文本转语音技术
  • VTM 是“H.266/VVC 标准的官方参考软件”视频分析,入门教程,它存在的唯一目的就是“让学术界和工业界在同一把尺子上做实验
  • Docker 在 Ubuntu 系统中的详细操作指南
  • 事务的传播行为,分别在spring和mysql中讲解
  • CentOS 服务器docker pull 拉取失败
  • 相机模型和对极几何
  • MySQL(147)如何进行跨平台迁移?
  • 【LeetCode 热题 100】124. 二叉树中的最大路径和——DFS
  • 后台管理系统登录模块(双token的实现思路)
  • [Python] -项目实战4- 利用Python进行Excel批量处理
  • 将EXCEL或者CSV转换为键值对形式的Markdown文件
  • 【Settlement】P1:整理GH中的矩形GRID角点到EXCEL中
  • 大语言模型调用方式与函数调用
  • 【并集查找 二分图】P6185 [NOI Online #1 提高组] 序列|省选-
  • 【已解决】GitHub SSH 连接失败解决方案:Permission Denied (publickey) 错误修复指南
  • HarmonyOS 网络请求优化实战指南:从0到1写出流畅不卡顿的应用!
  • EXPLAIN:你的SQL性能优化透视镜
  • C/C++数据结构之单向链表
  • 7-大语言模型—指令理解:指令微调训练+模型微调
  • FFmpeg 图片处理
  • 第三章-提示词-中级:进阶技巧与实践指南(12/36)
  • Spring Boot中REST与gRPC并存架构设计与性能优化实践指南
  • 测试学习之——Pytest Day4
  • Cosmos:构建下一代互联网的“区块链互联网
  • 黑马教程Webday6
  • 从零开始的云计算生活——番外5,使用ELK实现对应用日志的监控