如題,部署青島大學的開源OJ用於測試,可是根據他們在github提供的文檔老是安裝失敗,我本身找到了合適辦法解決了,因此記錄一下。前端
環境是Ubuntu14.04-64bit,這套系統使用docker部署,總體是Python寫的。python
1.安裝docker-ce,最新版的docker安裝變成了docker-ce,能夠點這裏參考docker官方文檔linux
首先檢查和刪除舊版本的dockergit
sudo apt-get remove docker docker-engine docker.io
安裝一些工具(update以前最好肯定本身的Ubuntu14安裝源在國內,這樣能夠節省時間,最好是換成阿里雲的源)github
sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加官方祕鑰web
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
添加apt安裝配置docker
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安裝ubuntu
sudo apt-get update && sudo apt-get install docker-ce
安裝完後你可能會遇到docker服務沒法啓動或者找不到文件之類的問題,是由於docker-ce變換了策略,docker 進程經過監聽一個 Unix Socket 來替代 TCP 端口。在默認狀況下,docker 的 Unix Socket屬於root用戶,固然其餘用戶可使用sudo方式來訪問。由於這個緣由, docker 進程就一直是root用戶運行的。因此用下邊的方法把本身的用戶名加到docker的用戶組裏邊去,之後就不用sudo了:vim
sudo gpasswd -a username docker sudo service docker restart
而後reboot你的主機。安全
2.安裝必要的依賴
sudo apt-get install -y vim python-pip curl git
sudo pip install docker-compose
3.開始安裝oj
sudo git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
docker-compose up -d
嘗試運行 pip install --upgrade pip && pip install -U urllib3
,而後再重試看看。若是還不行,就把pip安裝的compose卸載,而後手動去官網下載compose進行安裝,這時候應該就不會出現上邊的報錯了。
而後docker會自動的推送鏡像,等待就行了,具體時間看網速。
4.後續:
安裝過程當中自動建立了用戶名爲root密碼爲rootroot,及時修改密碼以保證安全。
題目的導入是個問題,不光要在web上寫,還要導入一個壓縮包,具體作法看最後列出的第二個文檔就行了。
後邊我還會探索如何自定義這套OJ的前端。
具體的安裝和配置文檔參考青島大學開源文檔就好:
https://github.com/QingdaoU/OnlineJudge
https://www.zybuluo.com/virusdefender/note/171932
本文參考的其餘文檔:
https://blog.csdn.net/renhanchi/article/details/75578553