🐳 使用 Docker Compose 部署
快速开始
在开始部署之前,建议先阅读《写在前面》,快速了解 RollCode 的基本信息。
📋 前置准备
环境要求
重要提示
建议按照 Docker 官方文档进行安装,因为部分 Linux 发行版的软件仓库中的 Docker 版本可能较旧。
🚀 部署步骤
1. 创建项目目录
创建并进入项目目录
mkdir ~/rollcode && cd ~/rollcode
数据存储说明
所有 RollCode 的数据都将保存在此目录中,请确保妥善保管。
2. 配置 Docker Compose
镜像源说明
推荐镜像源优先级:
- 🏆 官方源:
rollcode/rollcode:beta
(推荐) - 🚀 国内源:
registry.rollcode.cn/rollcode/rollcode:beta
(国内用户可选)
版本说明
beta
:获取最新的内测版本,包含最新功能和修复- 建议使用最新版本以获得最新功能和安全修复
- RollCode + MinIO
- RollCode
~/rollcode/docker-compose.yaml
version: '3.8'
services:
network-service:
image: alpine
restart: always
ports:
- ${ROLLCODE_PORT}:${ROLLCODE_PORT}
- ${ROLLCODE_HTTPS_PORT}:${ROLLCODE_HTTPS_PORT}
- 9090:9090
- ${MINIO_PORT}:${MINIO_PORT}
command: tail -f /dev/null
networks:
- rollcode_network
rollcode:
image: rollcode/rollcode:${ROLLCODE_VERSION}
restart: on-failure:3
env_file:
- .env
volumes:
- '.rollcode_data:/data'
network_mode: 'service:network-service'
minio:
image: minio/minio
network_mode: 'service:network-service'
volumes:
- '.minio_data:/etc/minio/data'
environment:
- 'MINIO_API_CORS_ALLOW_ORIGIN=\*'
env_file:
- .env
restart: always
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:${MINIO_PORT}/minio/health/live']
interval: 30s
timeout: 10s
retries: 3
entrypoint: >
/bin/sh -c "
minio server /etc/minio/data --address ':${MINIO_PORT}' --console-address ':9090' &
MINIO_PID=\$!
while ! curl -s http://localhost:${MINIO_PORT}/minio/health/live; do
echo 'Waiting for MinIO to start...'
sleep 1
done
sleep 5
mc alias set myminio http://localhost:${MINIO_PORT} ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}
echo 'Creating bucket ${MINIO_ROLLCODE_BUCKET}'
mc mb myminio/${MINIO_ROLLCODE_BUCKET}
mc anonymous set download myminio/${MINIO_ROLLCODE_BUCKET}
wait \$MINIO_PID
"
networks:
rollcode_network:
driver: bridge
~/rollcode/docker-compose.yaml
version: '3.8'
services:
rollcode:
image: rollcode/rollcode:${ROLLCODE_VERSION}
restart: on-failure:3
ports:
- ${ROLLCODE_PORT}:${ROLLCODE_PORT}
- ${ROLLCODE_HTTPS_PORT}:${ROLLCODE_HTTPS_PORT}
env_file:
- .env
volumes:
- ./.rollcode_data:/data
networks:
- rollcode_network
3. 配置说明
如果是完整部署,还需要添加.env文件,配置示例:
~/rollcode/.env
ROLLCODE_VERSION=beta-25043002
ROLLCODE_PORT=8080
ROLLCODE_HTTPS_PORT=8443
MINIO_PORT=9000
MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=minio123
MINIO_ROLLCODE_BUCKET=rollcode
RollCode 服务配置
参数 | 说明 | 示例值 |
---|---|---|
ROLLCODE_PORT | RollCode http 端口 | 8080 |
ROLLCODE_HTTPS_PORT | RollCode https 端口 | 8443 |
ROLLCODE_HOST | RollCode域名(可选) | https://yousite.com |
MinIO 服务配置
参数 | 说明 | 示例值 |
---|---|---|
MINIO_PORT | MinIO 端口 | 9000 |
MINIO_ROOT_USER | MinIO 用户名 | minio |
MINIO_ROOT_PASSWORD | MinIO 密码 | minio123 |
MINIO_ROLLCODE_BUCKET | MinIO 桶名 | rollcode |
4. 启动服务
# 启动所有服务
docker-compose up -d
# 查看实时日志
docker-compose logs -f
5. 激活 RollCode
完成服务启动后,请按照激活指南完成 RollCode 的激活。
6. 更新服务
要更新 RollCode 服务,请按以下步骤操作:
- 修改
docker-compose.yaml
中的镜像版本 - 执行更新命令:
# 拉取最新镜像
docker-compose pull
# 重新启动服务
docker-compose up -d
版本更新说明
- 建议定期查看更新日志获取最新版本号
- Beta 版本数据不会丢失,但可能存在一些 bug,请及时反馈
- 支持快速回滚到任意历史版本
🔧 常见问题
如何查看服务状态?
# 查看所有容器状态
docker-compose ps
# 查看服务日志
docker-compose logs -f
如何备份数据?
所有数据都存储在 ~/rollcode
(具体目录根据实际情况)工作目录下,建议定期备份以下目录:
.rollcode_data
.minio_data