适用系统:
- Windows 10 / Windows 11
- 已安装 Docker Desktop
本教程将实现:
- ✅ 配置国内镜像源
- ✅ 使用 Docker 部署 PairDrop
- ✅ 容器随 Docker 自动启动
- ✅ Docker 开机自动启动
- ✅ 端口冲突处理说明
一、配置 Docker 国内镜像源
在国内直接拉取镜像可能缓慢或失败,因此建议先配置镜像加速。
1️⃣ 打开 Docker Desktop
启动 Docker Desktop,确认左下角状态为:
Running
2️⃣ 进入 Docker Engine 设置
点击右上角 ⚙️ → 进入:
Settings → Docker Engine
你会看到类似 JSON 内容,例如:
json
{
"features": {
"buildkit": true
}
}
⚠️ 重要说明
这里是 在原有 JSON 中新增内容,不是删除全部重写。
必须保证:
- JSON 格式正确
- 花括号匹配
- 字段之间有逗号
3️⃣ 正确修改示例
将内容修改为:
json
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com"
],
"features": {
"buildkit": true
}
}
点击:
Apply & Restart
等待 Docker 重启。
4️⃣ 验证镜像源是否生效
打开 CMD(方法见下文),运行:
bash
docker info
找到:
Registry Mirrors:
如果看到添加的地址,说明成功。
二、代码在哪里运行?
所有命令都在 Windows CMD 命令提示符 中运行。
如何打开 CMD?
方法一(推荐)
-
按
Win + R -
输入:
cmd
-
回车
方法二
开始菜单搜索:
cmd
打开"命令提示符"。
打开后你会看到类似:
C:\Users\你的用户名>
后续所有命令都在这里执行。
三、安装并运行 PairDrop
在 CMD 中执行:
bash
docker run -d --name pairdrop -p 3000:3000 --restart=always ghcr.io/schlagmichdoch/pairdrop
参数说明
| 参数 | 作用 |
|---|---|
| -d | 后台运行 |
| --name pairdrop | 容器名称 |
| -p 3000:3000 | 端口映射 |
| --restart=always | Docker 重启后自动启动 |
端口说明(重要)
-p 3000:3000
含义:
本机 3000 → 容器 3000
浏览器访问:
http://localhost:3000
如果 3000 端口被占用怎么办?
报错示例:
port is already allocated
或:
address already in use
只需要修改前面的端口,例如改为 8080:
bash
docker run -d --name pairdrop -p 8080:3000 --restart=always ghcr.io/schlagmichdoch/pairdrop
访问:
http://localhost:8080
📌 为什么只修改前面的端口?
详见文末:
👉 《附录:Docker 端口映射原理说明》
四、验证是否成功
在 CMD 输入:
bash
docker ps
如果看到:
pairdrop
说明运行成功。
然后浏览器访问对应端口即可。
五、设置 Docker 开机自动启动
打开 Docker Desktop:
Settings → General
勾选:
Start Docker Desktop when you log in
保存即可。
六、完整自动启动逻辑
开机
↓
Docker Desktop 自动启动
↓
读取 restart=always 策略
↓
PairDrop 自动运行
七、常用管理命令
查看运行容器
bash
docker ps
停止容器
bash
docker stop pairdrop
删除容器
bash
docker rm pairdrop
附录:Docker 端口映射原理说明
很多人会疑问:
为什么只修改前面的端口?后面的 3000 为什么不能改?
Docker 端口映射格式
-p 主机端口:容器端口
例如:
bash
-p 8080:3000
表示:
你电脑的 8080
↓
映射到
容器内部的 3000
PairDrop 在容器内部结构
PairDrop 在容器内部固定监听:
3000 端口
可以理解为:
容器内部
┌─────────────────┐
│ PairDrop 服务 │
│ 监听 3000 端口 │
└─────────────────┘
数据流示意
使用:
bash
-p 8080:3000
访问流程为:
浏览器 localhost:8080
↓
本机 8080
↓
Docker 转发
↓
容器 3000
↓
PairDrop 服务
如果改成 -p 8080:8080 会怎样?
表示:
本机 8080 → 容器 8080
但容器内部没有程序监听 8080。
结果:
❌ 页面打不开
❌ 连接失败
最终理解
前面的端口 = 你电脑对外开放端口(可以改)
后面的端口 = 容器内部监听端口(不要改)
总结
至此你已经实现:
- 国内镜像源加速
- PairDrop Docker 部署
- Docker 自动恢复
- Windows 开机自动运行
- 端口冲突处理