本帖最后由 isdkz 于 2023-6-14 21:34 编辑
docker已经安装前面的大部分步骤可以忽略
这篇文档将指导您以传统方式安装UOJ。
本文与《一键安装UOJ》只需选择一个执行。推荐使用《一键安装UOJ》。
相较于一键安装,传统安装可能耗费更多的时间。
这篇教程与vfk的readme文档有严重不同。
如果您选择传统安装,建议按照本文的方式安装,这将省去很多不必要的麻烦。
安装前的准备
您需要准备一台
64位的Linux系统。
然后您需要安装
docker。它是一个容器技术,暂且可以理解成虚拟机。
- sudo apt install docker.io # ubuntu, debian系统请使用这条指令
- sudo yum install docker # CentOS系统请使用这条指令
- sudo service docker start # 启动docker服务
复制代码
另外,您可以通过下面的代码安装docker加速器(强烈推荐):
- sudo su
- curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://3a834d99.m.daocloud.io
- service docker restart
复制代码
下载UOJ的源码:
- git clone https://github.com/UniversalOJ/UOJ-System.git # 用不了的话请使用备用:git clone https://gitee.com/Hoo1941/UOJ-System.git
复制代码
-
JDK7u76
-
JDK8u31
然后把它们放进docker/目录,替换掉jdk-7u76-linux-x64.tar.gz和jdk-8u31-linux-x64.tar.gz。
安装
接着,您需要执行下面的指令来开始安装。请注意不是docker/目录下的同名文件。
如果安装过程顺利的话,您将会看到Successfully built。
启动
安装完成后,您取得了一个镜像。现在您需要建立一个容器,用于运行UOJ:
- sudo docker run --name uoj -dit -p 80:80 -p 3690:3690 --cap-add SYS_PTRACE uoj
复制代码
接下来这个容器将在后台运行。
上面的代码是用于新建一个UOJ,重启服务器后不要使用docker run来启动容器。具体参阅维护文档。
如果您不希望用80端口来运行uoj,您可以把上面的-p 80:80改成-p <port>:80。