Files
platform/docs/docker-deployment.md

90 lines
2.0 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 镜像:
```bash
docker build -t platform:latest .
```
## 生产环境部署
由于涉及敏感的 `.pem` 证书文件,这些文件不包含在代码库或 Docker 镜像中,而是在运行时通过卷挂载的方式提供。
### 准备证书文件
1. 在生产服务器上创建一个目录用于存放证书文件,例如:`/path/to/certs/`
2. 将必要的证书文件放入此目录:
- `pub_key.pem`
- `apiclient_key.pem`
### 运行容器
使用以下命令运行容器,挂载证书目录:
```bash
docker run -d \
--name platform \
-p 8080:8080 \
-e APP_PORT=8080 \
-v /path/to/certs:/app/certs \
platform:latest
```
### 环境变量
可以通过环境变量来配置应用程序:
- `APP_PORT`: 应用监听的端口号(默认: 8080
- 其他应用相关的环境变量可以通过 `-e` 参数添加
### 证书路径配置
如果应用程序需要知道证书的路径,可以通过环境变量配置:
```bash
docker run -d \
--name platform \
-p 8080:8080 \
-e APP_PORT=8080 \
-e PUB_KEY_PATH=/app/certs/pub_key.pem \
-e APICLIENT_KEY_PATH=/app/certs/apiclient_key.pem \
-v /path/to/certs:/app/certs \
platform:latest
```
## 使用 Docker Compose
也可以通过 Docker Compose 进行部署,创建 `docker-compose.yml` 文件:
```yaml
version: '3'
services:
platform:
image: platform:latest
ports:
- "8080:8080"
environment:
- APP_PORT=8080
- PUB_KEY_PATH=/app/certs/pub_key.pem
- APICLIENT_KEY_PATH=/app/certs/apiclient_key.pem
volumes:
- /path/to/certs:/app/certs
restart: unless-stopped
```
然后执行:
```bash
docker-compose up -d
```
## 安全建议
1. 确保证书文件的权限设置正确,仅允许必要的用户访问
2. 在生产环境中考虑使用 Docker Secrets 或 Kubernetes Secrets 来管理敏感信息
3. 定期更新证书和密钥