一、环境准备与Docker安装
1.1 Windows11系统要求
- 版本要求:Windows11 21H2及以上版本(需支持WSL2)
- 硬件配置:至少4GB内存(建议8GB+),支持虚拟化的CPU
- BIOS设置:启用”Intel VT-x/AMD-V”虚拟化技术
1.2 Docker Desktop安装
- 访问Docker官网下载Windows版
- 双击安装包,勾选”Use WSL 2 instead of Hyper-V”(推荐)
- 安装完成后启动Docker Desktop,等待初始化完成
- 验证安装:命令行执行
docker version,应显示Client和Server版本信息
常见问题:
- 若出现WSL2错误,需运行
wsl --set-default-version 2 - 防火墙设置需允许Docker的入站连接
二、构建自定义Docker镜像
2.1 创建Dockerfile
以Node.js应用为例,创建项目目录并编写Dockerfile:
# 使用官方Node.js镜像作为基础FROM node:16-alpine# 创建工作目录WORKDIR /app# 复制package文件并安装依赖COPY package*.json ./RUN npm install# 复制应用代码COPY . .# 暴露端口EXPOSE 3000# 启动命令CMD ["node", "server.js"]
2.2 构建镜像
- 在项目目录执行:
docker build -t my-node-app:v1 .
-
参数说明:
-t:指定镜像名称和标签.:表示使用当前目录的Dockerfile
-
验证镜像:
docker images
应看到类似输出:
REPOSITORY TAG IMAGE ID CREATED SIZEmy-node-app v1 abc123456789 2 minutes ago 123MB
三、配置私有镜像仓库
3.1 使用Docker Registry
- 启动本地Registry容器:
docker run -d -p 5000:5000 --name registry registry:2
- 标记镜像以推送:
docker tag my-node-app:v1 localhost:5000/my-node-app:v1
- 推送镜像:
docker push localhost:5000/my-node-app:v1
3.2 使用第三方仓库(以阿里云为例)
- 登录阿里云容器镜像服务
- 创建命名空间和镜像仓库
- 获取仓库地址(如
registry.cn-hangzhou.aliyuncs.com/yourname/my-repo) - 登录仓库:
docker login --username=your_aliyun_id registry.cn-hangzhou.aliyuncs.com
- 标记并推送:
docker tag my-node-app:v1 registry.cn-hangzhou.aliyuncs.com/yourname/my-repo:v1docker push registry.cn-hangzhou.aliyuncs.com/yourname/my-repo:v1
四、高级配置与最佳实践
4.1 多阶段构建优化
# 构建阶段FROM node:16-alpine AS builderWORKDIR /appCOPY . .RUN npm install && npm run build# 运行阶段FROM nginx:alpineCOPY --from=builder /app/dist /usr/share/nginx/htmlEXPOSE 80CMD ["nginx", "-g", "daemon off;"]
4.2 使用.dockerignore文件
创建.dockerignore文件排除不必要的文件:
node_modules.git*.log*.env
4.3 安全扫描与漏洞检测
- 安装Docker Scan:
docker scan my-node-app:v1
- 或使用Snyk等第三方工具进行深度扫描
五、故障排除与常见问题
5.1 推送失败处理
-
错误:
denied: requested access to the resource is denied- 原因:未正确标记镜像或权限不足
- 解决:检查镜像标签格式,确认仓库权限
-
错误:
Get "https://registry.example.com/v2/": http: server gave HTTP response to HTTPS client- 原因:Docker默认使用HTTPS,而本地Registry使用HTTP
- 解决:修改Docker配置(仅限开发环境):
- 编辑
/etc/docker/daemon.json(Windows在C:\ProgramData\docker\config\daemon.json) - 添加:
{"insecure-registries" : ["registry.example.com:5000"]}
- 重启Docker服务
- 编辑
5.2 性能优化建议
- 使用
--no-cache参数避免缓存问题:docker build --no-cache -t my-app:v2 .
- 对于大型镜像,考虑使用
docker save和docker load进行本地传输
六、完整操作流程图示
-
安装验证:

图1:Docker版本验证界面 -
镜像构建:
graph TDA[编写Dockerfile] --> B[执行docker build]B --> C[验证镜像列表]
-
仓库推送:

图2:阿里云容器镜像服务推送界面
七、总结与扩展
通过本文,您已掌握:
- Windows11下Docker的完整安装流程
- 从Dockerfile编写到镜像构建的全过程
- 私有仓库的配置与镜像推送方法
- 高级构建技巧与故障处理
扩展建议:
- 尝试使用Docker Compose管理多容器应用
- 探索Kubernetes在Windows11上的部署方案
- 学习Docker镜像的签名与验证机制
资源推荐:
- Docker官方文档
- Microsoft WSL2文档
- 阿里云容器镜像服务文档
通过系统化的实践,您可以高效地管理Docker镜像,为持续集成/持续部署(CI/CD)流程打下坚实基础。