Files
ogame-vue-ts/DOCKER.md
coolxitech d9c708e0ca feat(docker): 添加完整的 Docker 构建支持
- 重构 Dockerfile 支持本地完整源码构建流程
- 添加 CI 专用的 Dockerfile.ci 使用预构建产物
- 创建 .dockerignore 和 .dockerignore.ci 文件优化构建上下文
- 添加 build-docker.sh 和 build-docker.bat 本地构建脚本
- 更新 GitHub Actions 工作流支持 Node.js 环境和 pnpm 依赖管理
- 添加 DOCKER.md 详细说明文档
- 优化 nginx 配置和端口暴露设置
2026-01-08 17:13:46 +08:00

2.0 KiB
Raw Blame History

Docker 构建说明

本项目支持两种 Docker 构建方式:

🏠 本地构建

方式一:使用构建脚本(推荐)

Linux/macOS:

chmod +x build-docker.sh
./build-docker.sh

Windows:

build-docker.bat

方式二:直接使用 Docker 命令

# 构建镜像
docker build -t ogame-vue-ts:local .

# 运行容器
docker run -p 8080:80 ogame-vue-ts:local

☁️ GitHub Actions 自动构建

当代码推送到 main 分支或创建 tag 时GitHub Actions 会自动:

  1. 在 Actions 环境中构建项目
  2. 使用构建产物创建 Docker 镜像
  3. 推送到 GitHub Container Registry 和 Docker Hub

使用预构建镜像

# 从 GitHub Container Registry 拉取
docker pull ghcr.io/your-username/ogame-vue-ts:latest

# 从 Docker Hub 拉取(如果配置了)
docker pull your-dockerhub-username/ogame-vue-ts:latest

# 运行
docker run -p 8080:80 ghcr.io/your-username/ogame-vue-ts:latest

📁 文件说明

  • Dockerfile - 本地构建用,包含完整的源代码构建流程
  • Dockerfile.ci - GitHub Actions 构建用,使用预构建产物
  • .dockerignore - 本地构建时排除的文件
  • .dockerignore.ci - CI 构建时排除的文件
  • build-docker.sh / build-docker.bat - 本地构建便捷脚本

🔧 配置说明

GitHub Actions 环境变量

需要在 GitHub 仓库设置中配置:

Variables (公开):

  • DOCKERHUB_USERNAME - Docker Hub 用户名(可选)

Secrets (私密):

  • DOCKERHUB_TOKEN - Docker Hub 访问令牌(可选)
  • GITHUB_TOKEN - 自动提供,用于 GHCR

本地构建要求

  • Docker
  • 足够的磁盘空间(构建过程中会下载 Node.js 依赖)

🚀 快速开始

  1. 本地开发测试:

    ./build-docker.sh
    docker run -p 8080:80 ogame-vue-ts:local
    
  2. 访问应用: 打开浏览器访问 http://localhost:8080

  3. 生产部署: 使用 GitHub Actions 自动构建的镜像进行部署