90 lines
2.0 KiB
Markdown
90 lines
2.0 KiB
Markdown
|
|
# 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. 定期更新证书和密钥
|