Docker Compose 快速部署
前言
本章节中只描述如何做到最快速地搭建一个 SDUOJ,不建议长期用作生产。
注意
SDUOJ 尚未发布第一个稳定版本,对于生产用途 SDUOJ 开发者建议大家持观望态度。
先决条件
操作系统
- Linux(已测试:Ubuntu 20.04, Ubuntu 22.04, Debian 10)
- macOS(已测试:Ventura 13.4.1)
Windows(不支持!)
必备软件
- git
- docker:版本大于等于
23.0.2
- docker-compose-plugin:版本大于等于
2.17.2
可使用以下命令验证:
git version
docker -v
docker compose version
安装必备软件(在 Ubuntu、Debian 系统)
如果您的环境已装有,请跳过这一步
- 使用镜像
- 无需镜像
export DOWNLOAD_URL="https://mirrors.cernet.edu.cn/docker-ce"
sudo apt-get update \
&& sudo apt-get install -qq -y curl git \
&& curl -fsSL https://get.docker.com/ | sudo -E sh
sudo apt-get update \
&& sudo apt-get install -qq -y curl git \
&& curl -fsSL https://get.docker.com/ | sudo -E sh
单机部署(伪分布式,All-in-One)
尝鲜机器建议
- 在云服务厂商使用按量计费模式开启一个云服务器,16G 或以上大小的内存
- 虚拟机上安装一个 Linux 发行版(强烈推荐 Ubuntu 22.04)
如果您只是打算尝试简单地部署一个 SDUOJ,对其进行探索和尝鲜的话,执行以下指令即可:
- 拉取
sduoj-deploy
项目代码
git clone https://github.com/SDUOJ/sduoj-deploy.git
- 进入
sduoj-deploy
项目目录
cd sduoj-deploy
- 执行
docker compose
(注意不是docker-compose
)启动编排好的各个服务
sudo docker compose up
- 在 URL 中访问你的服务器 IP 即可,例如:
http://127.0.0.1:80/
,其中127.0.0.1
换成你的服务器 IP
一些初始账号如下,安全起见请注意修改:
- SDUOJ 的初始账号密码分别为
superadmin
、123456
,注意修改。 - Nacos 的初始账号密码分别为
sduoj
、sduoj
,注意修改。 - MySQL 的初始账号密码分别为
sduoj
、sduoj
,注意修改。
注意
数据库、消息队列、Nacos 服务的端口是暴露的,如果是在公有云上进行临时生产,建议配置网络安全组,仅暴露需要的 22、80 等端口。在自己的物理服务器上同理。