Files
Environment-Monitoring-System/docs/Docker_构建与发布指南.md
2026-01-29 04:25:44 +08:00

70 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`