# 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 //ems-backend:latest ./ems-backend docker build -t //ems-frontend:latest --build-arg VITE_API_BASE_URL=/api ./ems-frontend ``` 示例: - Docker Hub: ```bash docker build -t /ems-backend:latest ./ems-backend docker build -t /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 ``` 示例: ```bash docker login docker.aizhangz.top ``` ## 3) 推送镜像 ```bash docker push //ems-backend:latest docker push //ems-frontend:latest ``` 示例(私有仓库): ```bash docker push docker.aizhangz.top/ems-backend:latest docker push docker.aizhangz.top/ems-frontend:latest ``` ## 4) 验证 拉取一次确认: ```bash docker pull //ems-backend:latest docker pull //ems-frontend:latest ``` ## 注意事项 - 不要提交包含密钥的 `.env`。 - 如果使用公共仓库,请移除镜像中的敏感配置。 - 需要用镜像本地运行时,使用 `docker-compose.private.yml`。