Mac環(huán)境下 Docker 部署Mqant
新起的戰(zhàn)棋類游戲項(xiàng)目, 服務(wù)器想用Golang + mqant,思前想后考慮使用Docker環(huán)境部署。簡(jiǎn)單記錄一下。
Docker的好處就不廢話了,考慮使用它主要是因?yàn)?,它很適合現(xiàn)在我們團(tuán)隊(duì)的工作流程,很靈活,并且等游戲上線后初期維護(hù)(會(huì)有很多改動(dòng))會(huì)方便一些,更重要的是,很適合以后項(xiàng)目的擴(kuò)展,集群想怎么做就怎么做,服務(wù)器想怎么開(kāi)就怎么開(kāi)。
先安裝Docker, 哪有哪下載去。
https://www.docker.com
順便下載一個(gè)可視化的容器管理工具 Kitematic (目前還是Beta版), 開(kāi)發(fā)環(huán)境用它來(lái)管理容器很方便。
Mqant 在 GitHub上有一個(gè)服務(wù)器的示例 mqantserver, 正好可以用來(lái)檢驗(yàn)Docker環(huán)境。本身這個(gè)工程也提供了Docker部署的配置, 相當(dāng)感人。
*** 注意 ***?
一定先安裝并配置好 Go語(yǔ)言的開(kāi)發(fā)環(huán)境和環(huán)境變量什么的,再去搞Docker,不然之后出問(wèn)題會(huì)很麻煩。
在配什么不用廢話了,一搜一大片, 記著要即時(shí)生效,別白費(fèi)勁。
之后的Docker工程目錄也要配置在 GOPATH 里。
那就想看看 mqantserver 是怎么用Docker部署的
找到 Docker 的配置文件 mqant-docker 下載下來(lái),隨便找個(gè)地方放。簡(jiǎn)單看看,里面都是Docker的工程文件,?
由于Docker的運(yùn)作方式是一個(gè)發(fā)布工程一個(gè)目錄,多個(gè)工程可以配置多個(gè)目錄到 GOPATH 中,所以不要把 mqant-docker? 放到goroot等目錄下。
修改 mqant-docker 中的一些配置,? 都是改工作目錄。這里我把項(xiàng)目名稱命名為SteampunkServer, 所以游戲服務(wù)器工程的更目錄都是SteampunkServer。
mqant-docker/Dockerfile
?
mqant-docker/start.sh
mqantserver(當(dāng)然已經(jīng)變成Steampunk了,下面要是再說(shuō)這兩個(gè)都是一個(gè)目錄)中也是要改一下目錄, 同理啊, 用得上的都改。
/Steampunk/Server/SteampunkServer/bin/conf/server.json
build mqant-docker
用Docker 為Steampunk工程創(chuàng)建一個(gè)容器,創(chuàng)建好可以在Kitematic中看得見(jiàn)。
sudo docker run --name SteampunkServer -p 8080:8080 -p 3653:3653? -p 7700:7700? -p 7701:7701 -v /Users/sueshing/Workspace/Steampunk/Server/SteampunkServer:/Users/sueshing/Workspace/Steampunk/Server/SteampunkServer -idt bjfumac/mqant??
啟動(dòng)Steampunk工程的服務(wù)
關(guān)閉Steampunk工程的服務(wù)