1. 程式人生 > >codecombat 搭建私服過程(基於docker)(基於linux的,window和mac都可以)

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