mirror of
https://github.com/setube/ogame-vue-ts.git
synced 2026-05-12 07:55:11 +08:00
feat(docker): 添加完整的 Docker 构建支持
- 重构 Dockerfile 支持本地完整源码构建流程 - 添加 CI 专用的 Dockerfile.ci 使用预构建产物 - 创建 .dockerignore 和 .dockerignore.ci 文件优化构建上下文 - 添加 build-docker.sh 和 build-docker.bat 本地构建脚本 - 更新 GitHub Actions 工作流支持 Node.js 环境和 pnpm 依赖管理 - 添加 DOCKER.md 详细说明文档 - 优化 nginx 配置和端口暴露设置
This commit is contained in:
89
DOCKER.md
Normal file
89
DOCKER.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# Docker 构建说明
|
||||
|
||||
本项目支持两种 Docker 构建方式:
|
||||
|
||||
## 🏠 本地构建
|
||||
|
||||
### 方式一:使用构建脚本(推荐)
|
||||
|
||||
**Linux/macOS:**
|
||||
```bash
|
||||
chmod +x build-docker.sh
|
||||
./build-docker.sh
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```cmd
|
||||
build-docker.bat
|
||||
```
|
||||
|
||||
### 方式二:直接使用 Docker 命令
|
||||
|
||||
```bash
|
||||
# 构建镜像
|
||||
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
|
||||
|
||||
### 使用预构建镜像
|
||||
|
||||
```bash
|
||||
# 从 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. **本地开发测试:**
|
||||
```bash
|
||||
./build-docker.sh
|
||||
docker run -p 8080:80 ogame-vue-ts:local
|
||||
```
|
||||
|
||||
2. **访问应用:**
|
||||
打开浏览器访问 `http://localhost:8080`
|
||||
|
||||
3. **生产部署:**
|
||||
使用 GitHub Actions 自动构建的镜像进行部署
|
||||
Reference in New Issue
Block a user