• 青岛大学开源OJ以及部署


    源码地址为:https://github.com/QingdaoU/OnlineJudge

    可参考的文档为:https://github.com/QingdaoU/OnlineJudgeDeploy/tree/2.0

    本文参考文档:https://www.cnblogs.com/youcong/p/10085387.html

    前端修改教程:https://docs.onlinejudge.me/#/onlinejudge/guide/update_fe

    一、安装所依赖的环境

    注意: 如果是 Centos 系统,需要把 apt-get 修改为 yum. 如果是其他的Linux 系统,同样也是需要修改相应的包管理器。
    注意: 如果是 Centos 系统,需要把 apt-get 修改为 yum. 如果是其他的Linux 系统,同样也是需要修改相应的包管理器。
    注意: 如果是 Centos 系统,需要把 apt-get 修改为 yum. 如果是其他的Linux 系统,同样也是需要修改相应的包管理器。

    1. 安装 git

    安装命令如下:
    sudo apt-get update && sudo apt-get install -y vim python-pip curl git

    可能会出现中间两个提示选择,请都选择为 y

    出现类似下图内容就是成功了。

    2. 安装 docker-compose

    安装命令如下:
    sudo apt-get install docker-compose

    出现类似下面的内容就表示可以了

    3. 安装 docker

    3.1 脚本安装

    安装命令如下:
    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

    可能会出现下面的内容,提示公钥未安装,但是并没实际上的报错,而只有一个警告,可以暂时先忽略这个。

    也可以使用国内 daocloud 一键安装命令:
    curl -sSL https://get.daocloud.io/docker | sh

    同样也可能出现上面的命令一样的提示,可以展示先忽略。

    3.2 手动安装

    1. 卸载旧版本
      较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
    sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine
    
    1. 安装 Docker Engine-Community
      使用 Docker 仓库进行安装
      在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
      设置仓库
      安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
    sudo yum install -y yum-utils 
      device-mapper-persistent-data 
      lvm2
    

    使用以下命令来设置稳定的仓库。

    sudo yum-config-manager 
        --add-repo 
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    1. 安装 Docker Engine-Community
      安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:
      sudo yum install docker-ce docker-ce-cli containerd.io

    3.3 启动

    输入下面命令:

    sudo systemctl start docker

    然后输入: docker ps 进行验证。 参考下图

    二、下载代码,并且启动和部署。

    1. 下载源代码

    请选择一个剩余空间比较大的磁盘执行下面的命令 :
    注意: 这里的仓库路径不再是原先 青岛大学开源oj 的源路径了。 如果需要使用 青岛大学的oj,请把 下面命令中的 gznb 替换成 QingdaoU

    git clone -b 2.0 https://github.com/gznb/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy

    出现下面内容表示成功:

    2. 启动

    执行下面的命令:
    docker-compose up -d(root用户使用该命令)或sudo -E docker-compose up -d(非root用户使用该命令)

    这里需要等待一段时间,5~30分钟,具体还得看网速而定。

    出现以下内容表示成功:

    用户名和密码分别是:rootrootroot. 管理员站点在 http://IP地址/admin

    浏览器默认打开为:http://IP地址/

    我原本想把修改后的前端内容直接打包到docker镜像中。
    我是先正常启动,然后把本地的文件通过 volumns 的方式挂载到正在运行的容器中。
    再把包含本地文件的正在运行的容器打包成镜像
    之后把这个打包好的镜像上传到docker 云服务器商。
    最后,修改 docker-compose 中的 仓库地址,结果发现 并没有我之前放在容器中的本地文件。
    同样我也使用 docker cp 命令的方式,同样也无法达到最终的效果。

    因此,根据群友推荐,将 需要放入容器中的文件放入到 github 中,再在 启动容器的时候,使用命令 volumns 去挂载,达到最终目的。

    但是,我之前有成功的将本地文件放入到 镜像中,然后,我当时并没有记录自己的过程。。所以,以后一定要养成记录的好习惯。。

    我的所有命令都是在 root 用户下操作的。 ,有什么问题欢迎讨论。

  • 相关阅读:
    WEB手机端界面绝对定位分辨率扩大导致错乱问题和块级元素旋转角度CSS
    8.1 设置滑动效果和多媒体
    2.4 链接文字属性和标记元素
    2.3元信息标记 meta
    记录这几天工作内容发现的兼容性问题
    WEB前端开发工程师成长之路(计划)
    IE兼容CSS3圆角border-radius的方法
    Quirks模式是什么?
    让所有浏览器包括IE6即支持最大宽度又支持最小宽度。
    ie6下png背景显示问题?
  • 原文地址:https://www.cnblogs.com/gznb/p/13611613.html
Copyright © 2020-2023  润新知