codecombat 搭建私服過程(基於docker)(基於linux的,window和mac都可以)
本人,搞了三天終於搞掂,真系叼距老母.........
+++++++++++++++++++++++++++
2018.11.7
開始
友情提示,如果是centos6升級了核心,沒辦法安裝docker-io的話,
首先,確定你安裝好了yum install epel-relase
第二就是首先清楚快取yum clean all
第三就是,重新整理快取 yum makecache
結束
2018.11.7
++++++++++++++++++++++++++++
====================================
這個是我做好基於docker的codecombat容器,大家想用的可以拿去
連結:https://pan.baidu.com/s/1KM8WPoc-SMkEv5lLa5iRUA 密碼:53pk
連結:https://pan.baidu.com/s/1jJOBP7w 密碼:pwxu
=============2018年12月26日更新開始=========================
挺多博友反應問題,的確這個映象也是存在挺多問題的,然後有熱心博友提供了
另外一個建立映象的方式,就是用官方的映象,我當前是沒有,現在有了,地址是
這個.
理論上,應該直接執行類似命令就可以了,由於時間關係,就沒有論證了,但是又網友證實是功能完整可用的.
docker pull operepo/ope-codecombat
然後用docker run xxxx 之類的命令,建立基於這個映象的docker,應該就可以用了.
=============2018年12月26日更新結束=========================
=======2018年4月24日更新部分start=================
然後上面的映象下載好了以後,可以跳到這個位置去操作了(window端的docker操作)
1.首先開啟cmd或者powershell,並且切換到剛剛下載映象的位置,比如是我下載到F盤,就
開啟cmd命令視窗之後,輸入命令" F: ",這樣就切換到F盤了.
2.然後匯入映象:docker import codecombat_v2.iso codecombat2
(匯入成功之後,使用命令docker images是可以看到關於codecombat的資訊的,當然可以不操作這步)
3.建立容器輸入:docker run -itd --name codecombatTest -p 0.0.0.0:3000:3000 -p 0.0.0.0:35729:35729 codecombat2 /bin/bash
4.然後啟動剛剛建立的容器:docker start codecombatTest
5.然後用exec方式進入容器:docker exec -it codecombatTest /bin/bash
6.輸入命令:service mongodb start
6.1:輸入命令:cd /home/kumanxuan
7.輸入命令:su kumanxuan
8.輸入命令:cd /home/kumanxuan/codecombat/codecombatSetupPackage/codecombat
9.輸入命令:npm run dev
10.首先說明,就是上面,要等上面 <npm run dev>完全執行完才可以去訪問下面這個網址的,不要著急
像出現這個圖片之後,你就可以去訪問了
11.友情提示,如果,需要暴露地址到外網的話,建議使用nginx做前端,這樣,可以防止網址跳轉到網易的收費站點.
OK.基本上可以了.!!在瀏覽器輸入網址 http://127.0.0.1:3000
2018年7月12更新======開始
11。如何使用將自己的賬號設定成為管理員呢
解決的辦法是,首先註冊好你的賬號,然後你輸入的網址為 設定頁面 http://localhost:3000/account/settings,就是這麼簡單!然後你到你的賬號設定裡面就可以看到上帝模式和管理員模式,你只需要打個勾就可以了。
==================結束
12.===2018年5月8號更新====,我的環境是win10,所以直接下載的是最新版的docker,不是Boot2Docker,如果遇到埠無法監聽的話,嘗試一下下載最新版的docker.
=======2018年4月24日更新部分end=================
====================================
OK!!開始講.
總的步驟來說,請參考官方 https://github.com/codecombat/codecombat
首先這裡說一下需要的工具:
1.docker(不是必須)
2.npm的虛擬環境nvm(安裝方法請百度)
3.淘寶npm映象
4.一個linux環境,這個是必須,然後最好就是把上面的docker裝到linux上面去,我用的是ubuntu16.04
5.你需要一個非限制性的網路環境(不是必須)(自己搞掂,這個真的幫不了你,例如你可以百度搬瓦工)
首先,我是在window下面的docker進行的,請大夥注意了,這個docker環境太好用了,大夥如果不懂怎麼用,可以百度一下,用一下就知道好用了.現在我這裡就粗略說下.
一.用docker建立一個ubuntu16.04系統的容器.(這個非必須)
參考:docker run -itd-p ip:hostPort:containerPort --name=codecombat ubuntu:16.04 /bin/bash
二.然後,下面這些操作更docker沒關係了,你在docker裡面操作也可以,在真實的linux主機操作也是可以的.下面的這些命令都是通用的了.
現在可以安裝npm的虛擬環境nvm(具體的操作請百度),安裝好了之後就可以裝v5.12.0,svm install 5.12.0.
安裝好了之後,就開始使用新環境,svm use 5.12.0
三.單獨安裝node-sass和phantomJS環境.
前提是首先安裝淘寶的npm映象,npm install -g cnpm --registry=https://registry.npm.taobao.org
然後才是下面的這些操作
cnpm install node-sass
cnpm install phantomjs-prebuilt
四.然後下載codecombat原始碼,你首先隨便挑一個位置,然後就可以用git了,步驟就用官方的步驟操作一遍,這裡就不描述了,
我描述一些關鍵的地方,安裝這些.
sudo apt-get install build-essential python2.7 git curl mongodb libfontconfig
然後就是下載程式碼
git config --global user.name "$YOUR_NAME"
git config --global user.email "$YOUR_EMAIL_ADDRESS"
git clone https://github.com/$GITHUB_USERNAME/codecombat.git
cd codecombat
git remote add -f upstream https://github.com/codecombat/codecombat.git
然後,下一步,不要使用官方說的npm install,因為太慢了.
現在,你就使用cnpm install,然後就是等待了,估計就差不多了.
最後的最後,還需要匯入資料庫,請參考官網.
好了,我說完了,如果,你還有什麼不明白的,可以找我,我儘可能幫你.
我的github是https://github.com/headB
可以加好友然後問啊.~不留QQ了,會有很多同性交友.....................
還有,遇到有網路問題的,請,,,,,,,,自己想辦法.例如百度搬瓦工...............
========================================================================
更新==================================================
=======================================================================
不好意思,上面的失敗了,好像,大夥試試你們的吧,主要這次也讓我認識到,nodeJS版本的問題的話,請首選使用nvm管理,
但是我另外一個在docker裡面,我弄好非限制網路之後,用官方的方法安裝吧.我也上傳我的docker容器到百度雲,稍後
可以共享給大家,下載,匯入docker 就可以使用的了.
=====================第二次更新===================================
基於docker的codecombat映象在這裡.
連結:https://pan.baidu.com/s/1jJOBP7w 密碼:pwxu
下載這個容器,匯入到docker裡面就可以用啦!!!3G多的檔案,當下載一個系統啦.哈哈哈哈.
這裡是我做好用docker做好的codecombat容器,
登陸的時候預設就是root使用者,我的是kumanxuan使用者,密碼什麼的,你們自己操作什麼怎麼的都可以,
反正就是一個容器,想怎麼搞就怎麼搞,,,,影響不了我.....哈哈哈哈哈哈.
我搭建的目錄在 cd /home/kumanxuan/codecombat/codecombatSetupPackage/codecombat類似的目錄裡面,
還有,建議最好還是用kumanxuan這個使用者登入,舉個栗子,我是這樣開啟的,
su kumaxuan
cd /home/kumanxuan/codecombat/codecombatSetupPackage/codecombat
npm run dev
反正我是這樣操作,是可以的.嗯嗯,記得開資料庫.
service mongodb start
==========================2018年1月19日更新==================================
==========================2018年1月19日更新==================================
再試了幾天了,現在又成功了,我現在是重新記錄一下,這次的話,沒有爬梯子,也沒有使用淘寶的cnpm,但是使用了淘寶的映象資源,
其實我就是信不過淘寶的cnpm,感覺有時候是不相容npm的樣子,或者是不相容nodejs的什麼,什麼的,
我的操作和官網一樣,不過你,npm install這條命令就稍微修改了一下,是
npm install --registry=https://registry.npm.taobao.org
然後多試了兩次就成功了.!!!!哎....還不是天朝的網路問題,另外我們更加去掌握更加基本的網路知識等等,
哈哈哈,不管怎麼樣,都成功了.!!!!這樣操作的,我不安裝淘寶的cnpm了,但是,一樣使用淘寶映象資源,
==========================2018年3月8日更新==================================
我是window的docker,也有用linux搞docker.
window的使用者,如果把我百度雲盤的映象下載下來之後,
用命令匯入,在cmd輸入docker import codecombat_v2.iso codecombatTest
其中import第一個引數是具體映象的檔案位置,第二個是你自己想取的映象名字.
下面是截圖,看圖也可以看出很多的資訊量.
其實,我感覺,github的話,我還是經常上的,如果要引起注意,估計得在任何一個倉庫,fork或者提起請求什麼的...
哈哈哈,或者評論什麼吧...反正,,,,,各種方法....
下面是截圖.
一些截圖的步驟:
匯入好那個映象:docker import codecombat_v2.iso codecombat2
建立的容器的時候輸入:docker run -itd --name codecombatTest -p 127.0.0.1:3000:3000 codecombat2 /bin/bash
然後啟動剛剛建立的容器:docker start codecombatTest
然後用exec方式進入容器:docker exec -it codecombatTest /bin/bash
然後就是執行命令,docker exec -it codecombatTest /bin/bash
https://img-blog.csdn.net/20180308104138821
https://img-blog.csdn.net/20180308104139319
https://img-blog.csdn.net/20180308104139722