Mac环境下 Docker 部署Mqant

新起的战棋类游戏项目, 服务器想用Golang + mqant,思前想后考虑使用Docker环境部署。简单记录一下。

Docker的好处就不废话了,考虑使用它主要是因为,它很适合现在我们团队的工作流程,很灵活,并且等游戏上线后初期维护(会有很多改动)会方便一些,更重要的是,很适合以后项目的扩展,集群想怎么做就怎么做,服务器想怎么开就怎么开。

先安装Docker, 哪有哪下载去。
https://www.docker.com

顺便下载一个可视化的容器管理工具 Kitematic (目前还是Beta版), 开发环境用它来管理容器很方便。

Mqant 在 GitHub上有一个服务器的示例 mqantserver, 正好可以用来检验Docker环境。本身这个工程也提供了Docker部署的配置, 相当感人。

*** 注意 ***
一定先安装并配置好 Go语言的开发环境和环境变量什么的,再去搞Docker,不然之后出问题会很麻烦。
在配什么不用废话了,一搜一大片, 记着要即时生效,别白费劲。

open ~/.bash_profile 
source ~/.bash_profile

之后的Docker工程目录也要配置在 GOPATH 里。

那就想看看 mqantserver 是怎么用Docker部署的
找到 Docker 的配置文件 mqant-docker 下载下来,随便找个地方放。简单看看,里面都是Docker的工程文件,

由于Docker的运作方式是一个发布工程一个目录,多个工程可以配置多个目录到 GOPATH 中,所以不要把 mqant-docker 放到goroot等目录下。

修改 mqant-docker 中的一些配置, 都是改工作目录。这里我把项目名称命名为SteampunkServer, 所以游戏服务器工程的更目录都是SteampunkServer。

mqant-docker/Dockerfile

VOLUME ["/Users/sueshing/Workspace/Steampunk/Server/SteampunkServer/"]
ENV GOPATH $GOPATH:/Users/sueshing/Workspace/Steampunk/Server/SteampunkServer

mqant-docker/start.sh

/Users/sueshing/Workspace/Steampunk/Server/SteampunkServer/bin/server --conf /Users/sueshing/Workspace/Steampunk/Server/SteampunkServer/bin/conf/server.json --log /Users/sueshing/Workspace/Steampunk/Server/SteampunkServer/bin/logs

mqantserver(当然已经变成Steampunk了,下面要是再说这两个都是一个目录)中也是要改一下目录, 同理啊, 用得上的都改。

/Steampunk/Server/SteampunkServer/bin/conf/server.json

"WebRoot":"/Users/sueshing/Workspace/Steampunk/Server/SteampunkServer/bin/console",
...

...
"StaticPath":"/Users/sueshing/Workspace/Steampunk/Server/SteampunkServer/bin"

build mqant-docker

sudo docker build -t="bjfumac/mqant" .

用Docker 为Steampunk工程创建一个容器,创建好可以在Kitematic中看得见。
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

启动Steampunk工程的服务

sudo docker exec SteampunkServer sh start.sh  

关闭Steampunk工程的服务

sudo docker stop SteampunkServer  

【喜欢的点个赞,拿去用的打个赏,拿钱去买猫粮,楼下的流浪猫在等我。】

--- To Be Continued ---

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,982评论 19 139
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,636评论 15 147
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,544评论 0 120
  • 写这篇文章主要是为了今后毕业论文素材上的整理,同时对docker进行巩固温习。大纲: docker简介docker...
    胡图仙人阅读 7,509评论 2 96
  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 7,641评论 0 17