文档中文化
This commit is contained in:
69
docs/Docker_构建与发布指南.md
Normal file
69
docs/Docker_构建与发布指南.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# Docker 构建与发布指南
|
||||
|
||||
本指南说明如何将项目打包成 Docker 镜像并推送到镜像仓库。
|
||||
|
||||
## 先决条件
|
||||
- Docker Desktop / Docker Engine
|
||||
- 能访问镜像仓库的网络
|
||||
- 镜像仓库登录凭据
|
||||
|
||||
## 需要的文件
|
||||
构建与发布需要以下文件:
|
||||
- `ems-backend/Dockerfile`
|
||||
- `ems-frontend/Dockerfile`
|
||||
- `ems-frontend/nginx.conf`
|
||||
- `docker-compose.yml`(本地测试可选)
|
||||
- `.env`(**不要**发布,保留在本地)
|
||||
|
||||
## 1) 本地构建镜像
|
||||
在项目根目录执行:
|
||||
```bash
|
||||
docker build -t <REGISTRY>/<NAME>/ems-backend:latest ./ems-backend
|
||||
docker build -t <REGISTRY>/<NAME>/ems-frontend:latest --build-arg VITE_API_BASE_URL=/api ./ems-frontend
|
||||
```
|
||||
|
||||
示例:
|
||||
- Docker Hub:
|
||||
```bash
|
||||
docker build -t <dockerhub_user>/ems-backend:latest ./ems-backend
|
||||
docker build -t <dockerhub_user>/ems-frontend:latest --build-arg VITE_API_BASE_URL=/api ./ems-frontend
|
||||
```
|
||||
- 私有仓库:
|
||||
```bash
|
||||
docker build -t docker.aizhangz.top/ems-backend:latest ./ems-backend
|
||||
docker build -t docker.aizhangz.top/ems-frontend:latest --build-arg VITE_API_BASE_URL=/api ./ems-frontend
|
||||
```
|
||||
|
||||
## 2) 登录镜像仓库
|
||||
```bash
|
||||
docker login <REGISTRY>
|
||||
```
|
||||
|
||||
示例:
|
||||
```bash
|
||||
docker login docker.aizhangz.top
|
||||
```
|
||||
|
||||
## 3) 推送镜像
|
||||
```bash
|
||||
docker push <REGISTRY>/<NAME>/ems-backend:latest
|
||||
docker push <REGISTRY>/<NAME>/ems-frontend:latest
|
||||
```
|
||||
|
||||
示例(私有仓库):
|
||||
```bash
|
||||
docker push docker.aizhangz.top/ems-backend:latest
|
||||
docker push docker.aizhangz.top/ems-frontend:latest
|
||||
```
|
||||
|
||||
## 4) 验证
|
||||
拉取一次确认:
|
||||
```bash
|
||||
docker pull <REGISTRY>/<NAME>/ems-backend:latest
|
||||
docker pull <REGISTRY>/<NAME>/ems-frontend:latest
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
- 不要提交包含密钥的 `.env`。
|
||||
- 如果使用公共仓库,请移除镜像中的敏感配置。
|
||||
- 需要用镜像本地运行时,使用 `docker-compose.private.yml`。
|
||||
Reference in New Issue
Block a user