Docker Desktop 安装与操作手册
Docker Desktop 安装与操作手册
一、前言
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker Desktop 是 Docker 官方提供的桌面应用,简化了在 Windows 和 macOS 系统上使用 Docker 的流程。
本手册将详细介绍 Docker Desktop 的安装过程、镜像源配置以及常用操作命令。
二、系统要求
Windows 系统要求
- Windows 10 64位:专业版、企业版或教育版( 24H2 或更高版本)
- 必须启用 Hyper-V 和容器功能
- 至少 4GB 内存
- 支持硬件虚拟化技术并已在 BIOS 中启用
- 家庭版需要开启虚拟化结合(Windows11家庭版开启虚拟化与WSL安装操作手册-CSDN博客)
macOS 系统要求
- macOS 10.15 Catalina 或更高版本
- Apple 芯片或 Intel 芯片均可
- 至少 4GB 内存
三、Docker Desktop 安装步骤
3.1 Windows 系统安装
-
下载安装包
访问 Docker 官方网站(https://www.docker.com/products/docker-desktop)下载最新版本的 Docker Desktop for Windows 安装包。

-
运行安装程序
双击下载的安装文件(通常是 .exe 格式),启动安装向导。 -
安装配置
- 在安装界面中,保持默认选项即可(建议勾选 “Use WSL 2 instead of Hyper-V” 以获得更好的性能)
- 点击 “OK” 开始安装
-
完成安装
安装完成后,点击 “Close and restart” 重启电脑。 -
启动 Docker
电脑重启后,Docker 会自动启动,在任务栏中会出现 Docker 图标。等待图标变为稳定状态(不再闪烁),表示 Docker 已成功启动。
3.2 macOS 系统安装
-
下载安装包
访问 Docker 官方网站下载 Docker Desktop for Mac 安装包(.dmg 格式)。 -
安装 Docker
- 双击下载的 .dmg 文件,将 Docker 拖放到 Applications 文件夹中。
-
启动 Docker
- 在 Applications 文件夹中找到 Docker 并点击启动。
- 首次启动时,系统可能会提示 “Docker 已损坏” 或 “无法打开”,这是因为 macOS 的安全设置,可在 “系统偏好设置 > 安全性与隐私” 中点击 “仍要打开”。
- 等待 Docker 启动完成,菜单栏中会出现 Docker 图标。
四、镜像仓库配置
为了加快 Docker 镜像的拉取速度,我们需要配置国内镜像源。以下是配置步骤:
-
打开 Docker 配置界面
- Windows:右键点击任务栏中的 Docker 图标,选择 “Settings”
- macOS:点击菜单栏中的 Docker 图标,选择 “Preferences”
-
进入 Docker Engine 配置
- 在左侧导航栏中找到并点击 “Docker Engine”
-
配置镜像源
- 在配置文件中找到 “registry-mirrors” 选项,如果没有则添加
- 将提供的镜像源地址添加到数组中:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"debug": false,
"experimental": false,
"insecure-registries": null,
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://dockerproxy.com",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/",
"https://registry.docker-cn.com",
"https://mirror.ccs.tencentyun.com"
]
}

- 应用配置
- 点击 “Apply & Restart” 按钮,Docker 将会重启并应用新的配置
五、基本操作指南
5.1 验证安装
打开命令行工具(Windows 用 PowerShell 或命令提示符,macOS 用终端),输入以下命令验证 Docker 是否安装成功:
docker --version
如果安装成功,会显示类似以下信息:
Docker version 20.10.x, build xxxxxxx
进一步验证 Docker 功能是否正常:
docker run hello-world
如果一切正常,会显示 “Hello from Docker!” 等欢迎信息。
5.2 常用 Docker 命令
镜像相关命令
#搜索ubuntu镜像(需全局代理模式)
docker search ubuntu
docker pull [镜像名称]:[标签]
# 示例:拉取最新版 Ubuntu 镜像
docker pull ubuntu:latest

- 查看本地镜像
docker images

- 删除镜像
docker rmi [镜像ID或镜像名]
# 示例
docker rmi ubuntu:latest
容器相关命令
- 运行容器
docker run [选项] [镜像名称] [命令]
# 示例:运行一个 Ubuntu 容器并进入交互模式
docker run -it ubuntu /bin/bash
- 查看运行中的容器
# 查看运行中的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
- 停止容器
docker stop [容器ID或容器名]
- 启动已停止的容器
docker start [容器ID或容器名]
- 进入运行中的容器
docker exec -it [容器ID或容器名] /bin/bash
- 删除容器
docker rm [容器ID或容器名]
5.3 示例:运行一个 Nginx 服务器
- 拉取 Nginx 镜像
docker pull nginx:latest
- 运行 Nginx 容器
docker run -d -p 8090:80 --name mynginx nginx
-d:后台运行容器-p 8090:80:将容器的 80 端口映射到主机的 8090 端口--name mynginx:给容器命名为 mynginx
-
访问 Nginx 服务
在浏览器中访问 http://localhost:8090,应该能看到 Nginx 的默认欢迎页面。 -
停止并删除 Nginx 容器
docker stop mynginx
docker rm mynginx
六、高级操作
6.1 构建自定义镜像
步骤 1:准备应用文件和 Dockerfile
-
创建一个文件夹(比如在桌面创建
my-node-app文件夹):
打开 PowerShell,执行:cd Desktop # 进入桌面 mkdir my-node-app # 创建文件夹 cd my-node-app # 进入文件夹 -
创建
package.json(定义应用依赖):
在my-node-app文件夹里,右键新建文本文件,重命名为package.json(注意删除.txt后缀),内容:{ "name": "my-node-app", "version": "1.0.0", "dependencies": { "express": "^4.17.1" } } -
创建
app.js(应用代码):
同样新建文本文件,重命名为app.js,内容:const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('Hello from Docker (Windows)!'); }); app.listen(port, () => { console.log(`应用运行在 http://localhost:${port}`); }); -
创建
Dockerfile:
新建文本文件,重命名为Dockerfile(无后缀)。FROM node:14 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node", "app.js"]
步骤 2:构建自定义镜像(执行 docker build 命令)
在 PowerShell 中确保当前目录是 my-node-app(通过 cd 命令确认),执行:
docker build -t mynodeapp:1.0 .
命令解释:
-t mynodeapp:1.0:给镜像起个名字(mynodeapp)和版本号(1.0),方便后续引用。- 最后的
.:表示 “以当前文件夹中的 Dockerfile 为构建依据”。
构建过程说明:
- 第一次运行会慢(需要下载
node:14基础镜像,约几百 MB),后续会缓存。 - 若出现
npm install失败,可能是网络问题,可检查 Docker 镜像源配置(之前手册中配置的国内源能加速)。 - 成功后,执行
docker images命令,能看到mynodeapp:1.0说明构建成功。
步骤 3:运行自定义镜像(执行 docker run 命令)
在 PowerShell 中执行:
docker run -p 3000:3000 mynodeapp:1.0
命令解释:
-p 3000:3000:将 Windows 主机的 3000 端口与容器内的 3000 端口绑定(这样才能通过localhost:3000访问容器内的应用)。- 若直接运行,命令行会 “挂起”(显示容器内的日志,如
应用运行在 http://localhost:3000),这是正常的(应用在前台运行)。
步骤 4:验证效果
打开浏览器,访问 http://localhost:3000,会看到页面显示 Hello from Docker (Windows)!,说明:
-
镜像构建成功,包含了 Node.js 环境、依赖和应用代码。
-
容器运行正常,端口映射生效,能通过 Windows 主机访问容器内的应用。
6.2 使用 Docker Compose
Docker Compose 用于定义和运行多容器 Docker 应用程序。
- 创建
docker-compose.yml文件:
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=mydb
- 启动服务:
docker-compose up -d
- 停止服务:
docker-compose down
步骤 1:创建项目文件夹
- 打开 “文件资源管理器”,进入 桌面,右键 → 新建 → 文件夹,命名为
compose-nginx-mysql。 - 记住文件夹路径(比如
C:\Users\你的用户名\Desktop\compose-nginx-mysql),后续要用。
步骤 2:创建 docker-compose.yml 文件
-
进入
compose-nginx-mysql文件夹,右键 → 新建 → 文本文档。 -
关键操作
:重命名文件为
docker-compose.yml(注意:删除.txt后缀!)。
- 若看不到后缀:在文件资源管理器顶部 “查看” 选项卡,勾选 “文件扩展名”(否则会变成
docker-compose.yml.txt,Docker 无法识别)。
- 若看不到后缀:在文件资源管理器顶部 “查看” 选项卡,勾选 “文件扩展名”(否则会变成
-
用记事本打开
docker-compose.yml,粘贴修正后的 yaml 内容,保存并关闭。
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=mydb
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:
# 注释解释
version: '3'
services:
# Nginx 服务(命名为 web)
web:
image: nginx # 使用官方 Nginx 镜像,无需自己构建
ports:
- "8080:80" # Windows 主机的 8080 端口 ↔ 容器的 80 端口(Nginx 默认端口)
volumes:
# 本地文件夹 ./html 映射到容器内 Nginx 静态文件目录(实现“本地改文件,容器生效”)
- ./html:/usr/share/nginx/html
# MySQL 服务(命名为 db)
db:
image: mysql:5.7 # 使用 MySQL 5.7 镜像(稳定版,适合新手)
environment:
# 配置 MySQL 根密码和自动创建的数据库
- MYSQL_ROOT_PASSWORD=password # 根用户密码(自己可改,比如 123456)
- MYSQL_DATABASE=mydb # 容器启动时自动创建名为 mydb 的数据库
volumes:
# 数据卷(持久化 MySQL 数据,避免容器删除后数据丢失)
- mysql-data:/var/lib/mysql
# 定义数据卷(Docker 会自动管理,无需手动创建)
volumes:
mysql-data:
步骤 3:创建 Nginx 测试页面(验证 web 服务)
-
在
compose-nginx-mysql文件夹内,右键 → 新建 → 文件夹,命名为html。 -
进入
html文件夹,右键 → 新建 → 文本文档,重命名为index.html(删除.txt后缀)。 -
打开
index.html粘贴以下内容(简单测试页面):
<!DOCTYPE html> <html> <head> <title>Windows Docker Compose 测试</title> <style>h1{color: #2c3e50; text-align: center; margin-top: 100px;}</style> </head> <body> <h1>🎉 成功!Nginx 服务已启动(Windows + Docker Compose)</h1> </body> </html> -
保存并关闭
index.html。
步骤 4:启动服务(执行 docker-compose up -d)
-
打开 PowerShell,导航到项目文件夹:
-
复制项目文件夹路径(比如
C:\Users\你的用户名\Desktop\compose-nginx-mysql); -
在 PowerShell 中输入
cd 路径(注意替换成你的路径),回车:
powershell
cd C:\Users\你的用户名\Desktop\compose-nginx-mysql -
验证是否进入正确文件夹:执行
dir命令,能看到docker-compose.yml和html文件夹,说明正确。
-
-
执行启动命令:
powershell
docker-compose up -d- 命令解释:
up表示 “创建并启动容器”,-d表示 “后台运行”(不占用 PowerShell 窗口)。
- 命令解释:
-
等待启动完成(首次慢,需下载镜像):
- 首次运行会下载
nginx(约 100MB)和mysql:5.7(约 400MB)镜像,依赖之前配置的国内镜像源(速度会快很多); - 成功标志:PowerShell 显示类似以下内容
- 首次运行会下载
步骤 5:验证服务是否正常运行
验证 1:Nginx 服务(web 服务)
- 打开任意浏览器(Edge/Chrome),在地址栏输入
http://localhost:8080,按回车; - 若看到
🎉 成功!Nginx 服务已启动(Windows + Docker Compose),说明 Nginx 正常运行,且本地html文件夹已成功映射到容器。(可能会遇到显示乱码)
验证 2:MySQL 服务(db 服务)
-
回到 PowerShell,执行命令 “进入 MySQL 容器内部”:
powershell
docker exec -it compose-nginx-mysql-db-1 mysql -u root -p- 命令解释:
exec -it表示 “交互式进入容器”,compose-nginx-mysql_db_1是 MySQL 容器名(由 Compose 自动生成,格式为 “项目名_服务名_1”),mysql -u root -p是登录 MySQL 的命令。
- 命令解释:
-
按提示输入密码:
password(在docker-compose.yml中配置的MYSQL_ROOT_PASSWORD),回车(输入时密码不显示,正常); -
登录成功后,执行命令 “查看数据库”:
show databases; -
若看到
mydb数据库(如下),说明 MySQL 正常运行,且自动创建了数据库:
+--------------------+ | Database | +--------------------+ | information_schema | | mydb | <-- 自动创建的数据库 | mysql | | performance_schema | | sys | +--------------------+ -
输入
exit,回车退出 MySQL 命令行。
步骤 6:停止服务(执行 docker-compose down)
当不需要服务时,在 PowerShell 中(确保仍在项目文件夹下)执行:
powershel
docker-compose down
-
命令效果:
- 停止并删除 Nginx 和 MySQL 容器;
- 删除 Compose 自动创建的网络;
- 保留数据卷
mysql-data(MySQL 数据不会丢失,下次启动服务时会继续使用)。
-
若想 “彻底删除所有数据”(比如测试完成后清理),执行:
docker-compose down --volumes
七、常见问题及解决方法
-
Docker 启动失败
- 检查系统是否满足最低要求
- 确保 Hyper-V 或 WSL 2 已正确安装和启用
- 重启电脑后再试
-
镜像拉取速度慢或失败
- 检查镜像源配置是否正确
- 尝试更换其他镜像源
- 检查网络连接
-
端口占用问题
- 当出现 “port is already allocated” 错误时,表示端口已被占用
- 解决方案:更换映射的端口号,例如将
-p 8080:80改为-p 8081:80
-
权限问题
- 在 Linux 或 macOS 上,如果出现权限错误,尝试在命令前加上
sudo - 或者将当前用户添加到 docker 用户组
- 在 Linux 或 macOS 上,如果出现权限错误,尝试在命令前加上
八、卸载 Docker Desktop
Windows 系统
- 从开始菜单中找到 “Docker Desktop”
- 选择 “Uninstall” 进行卸载
- 按照提示完成卸载过程
macOS 系统
- 打开 “Applications” 文件夹
- 将 “Docker” 拖到废纸篓
- 执行以下命令删除残留文件:
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/.docker
九、总结
本手册介绍了 Docker Desktop 的安装、配置和基本操作方法。通过配置国内镜像源,可以显著提高 Docker 镜像的拉取速度。Docker 提供了强大的容器化能力,能够简化应用的开发、测试和部署流程。
如需了解更多 Docker 相关知识,可以参考官方文档:https://docs.docker.com/
十、参考感谢
附录截图:

















更多推荐



所有评论(0)