在Ubuntu虚拟机上搭建青岛OJ
源码地址为:https://github.com/QingdaoU/OnlineJudge
可参考的文档为:https://github.com/QingdaoU/OnlineJudgeDeploy/tree/2.0
我的虚拟机上之前没有安装任何东西,就是依靠下面命令完成搭建青岛OJ
一、安装所依赖的环境
sudo apt-get update && sudo apt-get install -y vim python-pip curl git sudo apt-get install docker-compose
二、使用Git克隆项目并完成部署
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy sudo docker-compose up -d(root用户使用该命令)或sudo -E docker-compose up -d(非root用户使用该命令) /*
我是用的 sudo docker-compose up -d 这个命令
*/
有可能虚拟机之前并没有安装过git这个命令,我们可以通过下面命令安装
sudo apt-get install git
//或者
sudo apt install git
三、出现问题
1、
使用docker时报错“net/http: TLS handshake timeout”
2、
Ubuntu中Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend)问题的解决
3、
遇到第1个问题要修改Ubuntu文件内容,但是可能会涉及权限不够问题,这个时候一般就要在命令行下用vi命令修改文件内容
vi、wc、gzip、bzip2、tar、yum安装、dpek、用户信息操作等命令
4、
错误信息:ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
解决办法:
docker-compose up -d(root用户使用)
非root执行会出现这个异常
非root应该执行这条命令
sudo -E docker-compose up -d
如果一直提示这个问题可以重启虚拟机试试。。。我就是这样试过的。。。
5、
错误信息:ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
解决办法:修改docker-compose.yml中的version由3改为2
四、登录OJ
用户名和密码分别是:root和rootroot
浏览器默认打开为:http://127.0.0.1
回送地址:127.0.0.1。 也是本机地址,等效于localhost或本机IP。一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。
五、在自己主机访问这个虚拟机上的OJ
我的虚拟器版本是:VMware Workstation 15 Player
好多人处理这个问题都是要设置网络编辑器和网络适配器
我搜了半天有人说Player是没有网络编辑器的

谁能理解我此时内心的痛。。。。。。(此处略去一万字)
我给找了几个看起来还可以的博客(都是解决 “这个让自己主机访问这个虚拟机上的OJ” 这个问题的)
https://blog.csdn.net/qq_17534301/article/details/80925503
https://jingyan.baidu.com/article/46650658e1cc84f549e5f806.html
Ubuntu上查看ip地址用
ifconfig -a
如果没有安装ifconfig这个命令的话会提示你安装哪个东西,你照着安装就可以了

解释:
ens32 表示第一块网卡
inet addr 用来表示网卡的IP地址,此网卡的 IP地址是192.168.150.131
更多解释看下面这个链接
https://blog.csdn.net/dodod2012/article/details/80422729
总的来说我还是没有解决这个问题,等我解决之后我会更新博客的。。。
在Ubuntu虚拟机上搭建青岛OJ的更多相关文章
- win7的centos虚拟机上搭建mysql5.6服务
1 安装包下载 mysql5.6下载地址: http://dev.mysql.com/downloads/mysql/ 这里选择linux版本: navicat11破解版的下载地址: http://d ...
- ubuntu物理机上搭建Kubernetes集群 -- 准备
准备工作 1.kubernetes架构 2.三台ubuntu主机: 操作系统:ubuntu-16.04.1-server-amd64 docker: 1.安装 使用命令 sudo apt-get in ...
- 用Filezilla往ubuntu虚拟机上传文件
也许不用这么复杂,但就这么干了 1.安卓ubuntu虚拟机 2.虚拟机安装ssh服务:sudo apt-get openssh-server 3.虚拟机新建目录test 4.修改test文件夹的访问权 ...
- Windows Azure上的Odoo(OpenERP)-2.在Ubuntu虚拟机上部署Odoo(OpenERP)
创建虚拟机的步骤在这里就不再赘述了,请参考上一篇博文. 首先用下述命令将Ubuntu系统进行更新: 1. sudo apt-get update 2. sudo apt-get upgrade 3. ...
- 在Ubuntu虚拟机上安装DVWA
学习资料来源:https://www.neddos.tech/?p=107 最后更新时间: 190122·17:41 1> 什么是DVWA(Damn Vulnerable Web Applica ...
- 在虚拟机上搭建物理机可访问的web服务(IIS)
0x0 前言 安装webug4.0的时候突发奇想,想学下如何在虚拟机里搭建网站,然后让主机像访问互联网的网站一样访问虚拟机的网站,为以后渗透测试搭建环境做准备 0x1 虚拟机安装win2003[以防万 ...
- centOS7虚拟机上搭建kvm虚拟平台
平台:win10+vmware, vmware中安装centOS7 1). 检测硬件是否支持虚拟化 # egrep '(vmx|svm)' --color=always /proc/cpuinfo ...
- ubuntu 虚拟机上的 django 服务,在外部Windows系统上无法访问
背景介绍 今天尝试着写了一个最简单的django 服务程序,使用虚拟机(Ubuntu16.02 LTS)上的浏览器访问程序没有问题.但是在物理机器上(win10 Home) 就出现错误 解决方法 在 ...
- ubuntu物理机上搭建Kubernetes集群 -- minion 配置
1. flannel配置 下载二进制文件 https://github.com/coreos/flannel/releases 版本:flannel-v0.7.0-linux-amd64.tar.gz ...
随机推荐
- 【Spring】Spring中的Bean - 3、Bean的作用域
Bean的作用域 简单记录-Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)-Spring中的Bean 通过Spring容器创建一个Bean的实例时,不仅可以完成 ...
- 【Java】面向对象 - 封装
继承 封装 多态 重新搞一波 复习巩固 简单记录 慕课网 imooc Java 零基础入门-Java面向对象-Java封装 封装 封装是什么? 将类的某些信息隐藏在类内部,不允许外部程序直接访问 通过 ...
- 【Linux】Linux下如何分区及如何格式化
环境:CentOS7.1 磁盘大小是1.8T 将磁盘/dev/sda分一个分区,分区类型为xfs fdisk /dev/sda n --创建新分区 p --创建分区类型为主分区 1 --主分 ...
- service自动发现,yaml文件管理内外部端口访问
service服务发现 [root@k8s-master ~]# vim busybox-5d4f595646-dzjv4.yaml apiVersion: v1 kind: Pod metadata ...
- JAVA之路_假克隆、浅克隆、深克隆
一.JAVA假克隆 Java中,对于基本类型,可以用"="进行克隆,而对于引用类型却不能简单的使用"="进行克隆,这与JAVA的内存使用空间有关,JAVA在栈中 ...
- 提取当前文件夹下的所有文件名.bat(Windows批处理文件)
@echo off dir /s/b *.* > 文件名.txt exit
- selenium八大元素定位方法
1.ID定位 可以根据元素的id来定位属性,id是当前整个HTML页面中唯一的,所以可以通过id属性来唯一定位一个元素,是首选的元素定位方式.(动态ID不做考虑) # 导入webdriver和By f ...
- 跨度实际上是用来计算排位(rank) 目标节点在跳跃表中的排位 有序集 排序计算
跳跃表的实现 - Redis 设计与实现 http://redisbook.com/preview/skiplist/datastruct.html 有序集合 /* ZSETs use a speci ...
- 并发安全 sync.Map
https://mp.weixin.qq.com/s/MqPm7QH3_D9roVkpTs9Xpw 谈谈Go的并发安全相关 原创 歪鼻子 歪鼻子 2020-12-27 package main ...
- sentry 错误监控 报警
错误监控 报警 Sentry | Error Tracking Software - JavaScript, Python, PHP, Ruby, more https://sentry.io/wel ...