当前位置: 首页 > 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.lryc.cn/news/594173.html

相关文章:

  • HTTP 进化史:从 1.0 到 3.0
  • The FastMCP Client
  • 你的created_time字段,用DATETIME还是TIMESTAMP?
  • Python自动化测试项目实战
  • Python 模块与包导入 基础讲解
  • Haproxy算法精简化理解及企业级高功能实战
  • 如何在看板中体现任务依赖关系
  • Windows CMD(命令提示符)中最常用的命令汇总和实战示例
  • 让黑窗口变彩色:C++控制台颜色修改指南
  • 30天打牢数模基础-SVM讲解
  • Linux操作系统从入门到实战(十一)回车换行问题与用户缓冲区问题
  • 内网后渗透攻击过程(实验环境)--3、横向攻击
  • dify创建OCR工作流
  • java抗疫物质管理系统设计和实现
  • 多人在线场景下Three.js同步机制设计:延迟补偿、状态插值的工程实践
  • 07_图像容器Mat_详解
  • 元学习算法的数学本质:从MAML到Reptile的理论统一与深度分析
  • maven构建Could not transfer artifact失败原因
  • 红宝书单词学习笔记 list 51-75
  • Word for mac使用宏
  • Function Callingの进化路:源起篇
  • Node.js Express keep-alive 超时时间设置
  • 基于Pytorch的人脸识别程序
  • 【JS逆向基础】数据库之redis
  • 华为开源自研AI框架昇思MindSpore应用案例:基于ERNIE模型实现对话情绪识别
  • 对于stm32RCT6的外部中断
  • `tidyverse` 中涉及的函数及其用法
  • tabBar设置底部菜单选项、iconfont图标(图片)库、模拟京东app的底部导航栏
  • GPT-4o mini TTS:领先的文本转语音技术
  • 私有云新势力:Puter+CPolar如何低成本替代商业网盘?