docker下编译mangoszero WOW60级服务端(二)

小说:扑克千术教学视频讲解作者:丁平徒龙更新时间:2019-02-18字数:44165

经过多日以来的摸索,唐三对于海神三叉戟的使用已经越来越熟练,先前他将自己与小舞的气息完全隐藏于海神三叉戟之后,凭借着十万八千斤的神器抵挡剑斗罗攻击,就算这样,唐三还是一阵难受,催动玄天功不断运转,才化解了七杀剑的剑气。

att2代连环炮官网下载

波田鬼子急忙命令手下鬼子驱逐舰:“朝前面行进一段距离,封锁住江面,截断冲上来的中国兵的退路!”波田鬼子这招挺狠的,他知道在双方的炮艇纠缠在一起的时候是不能开炮的,这样杀伤自己人的概率比杀伤敌人的要大不少,与其这样,倒不如让那些驱逐舰朝前面行进一段距离,你中国兵的炮艇总得退回去吧,那我就在你的退路上等着你!
但是毕竟在她看来自己还是有喜欢的男人,有心仪的男子,她现在这个样子不就是等于背夫偷汉的女人吗?

“就算会飞,你的速度也是比不过比雕的。”阿速强行压下骇然,专心去比赛,不管如何,伊布的速度是追不上比雕的,因为刘皓的强大,加上伊布的独特,阿速已经拿出了全部的实力。

docker下编译mangoszero WOW60级服务端(二)


开始搭建基于docker的mangoszero WOW服务端,我自己的操作系统是mac os,其他平台操作可以等价替换

1.准备工作

(1) 安装docker,参考docker官方文档,https://www.docker.com,有各种平台的安装教程,mac下可以直接 brew install caskroom/cask/docker 

(2) 拉取docker官方centos镜像,可使用阿里云hub,https://dev.aliyun.com/detail.html?spm=5176.1972343.2.22.otKSdx&repoId=1198,版本推荐6.9或latest

docker pull centos
或
docker pull centos:6.9

 

(3) 建立一个文件夹专门用来保存此次搭建所用到的文件

mkdir -p mangos/wow60

(4) 从github拉取mangoszero源码

mkdir mangos/wow60/mangos-zero
cd mangos/wow60/mangos-zero/
git clone https://github.com/mangoszero/server.git server -b master --recursive

github现在国内被墙,只有搭梯子,这个源码比较大,可能会花费非常长的时间。

一个比较快捷的办法

1) 先下载mangoszero源码的压缩包,https://github.com/mangoszero/server/archive/master.zip,解压缩后文件夹更名为server

2) 再根据https://github.com/mangoszero/server/blob/master/.gitmodules里的子模块内容,一个一个的git clone

cd mangos/wow60/mangos-zero/server
git clone https://github.com/mangos/mangosDeps dep -b master --recursive
git clone https://github.com/mangos/realmd src/realmd -b master --recursive
git clone https://github.com/elunaluaengine/eluna src/modules/Eluna -b master --recursive
git clone https://github.com/mangos/ScriptDev3.git src/modules/SD3 -b master --recursive
git clone https://github.com/mangostools/DbDocsEditor.git contrib/dbdocs_editor -b master --recursive
git clone  https://github.com/mangos/Extractor_projects.git src/tools/Extractor_projects -b master --recursive

win的子模块如果是Linux或MAC就不需要clone了

(5) 从github拉取database

cd mangos/wow60
git clone http://github.com/mangoszero/database.git database -b master --recursive

 

2.搭建之前的规划

(1) 首先基于centos构建一套通用的编译环境,这样以后不仅可方便编译mangos,也可用于编译其他软件,或者用作其他容器的母版

(2) 基于构建好的编译环境编译mangoszero的服务端

(3) 基于构建好的mangos服务端单独构建验证服务器

(4) 基于构建好的mangos服务端单独构建世界服务器

(5) 基于构建好的编译环境构建数据库服务器

 这样的规划好处是分离验证服务器,世界服务器,数据库,这样某一个镜像需要变动,也不会影响其他的。

 验证服务器与世界服务器分离的好处是可以一个验证服务支持多个世界服务

 数据库服务器可以使用容器,也可以使用其他Mysql服务

 

3.开始搭建编译环境

(1) 创建一个文件夹用来保存dockerfile等

cd mangos
mkdir base_env
cd base_env

(2) 编写Dockerfile

#基于cenos的latest版本
FROM centos:latest
# 个人信息
MAINTAINER oliverCJ <cgjp123@163.com>
#设置容器环境变量
ENV SRC_DIR /root/soft
#创建文件夹保存需要用到的依赖文件
RUN mkdir -p ${SRC_DIR}

#更新服务器,安装wget,安装epel源
RUN yum -y update 
    && yum -y install wget 
    && yum -y install epel-release 
    && yum makecache

#安装依赖包
RUN yum -y install 
    cmake 
    make 
    gcc 
    gcc-c++ 
    automake.noarch 
    autoconf.noarch 
    openssl 
    openssl-devel 
    bzip2-devel 
    readline-devel 
    ncurses-devel 
    boost-devel 
    libtool 
    perl-devel 
    perl-Net-Telnet.noarch

#安装必要软件
RUN yum -y install 
    #centos6.9版本安装mysql,mysql-devel,mysql-server
    mariadb-devel 
    mariadb-server 
    curl 
    git 
    vim 
    openssh-server 
    openssh 
    telnet 
    net-tools 
    yum clean all 

#ACE环境
RUN cd ${SRC_DIR} 
    && wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/devel:/libraries:/ACE:/micro/CentOS_7/x86_64/ace-6.3.3-55.1.x86_64.rpm 
    && rpm -ivh ace-6.3.3-55.1.x86_64.rpm 
    && rm -f ace-6.3.3-55.1.x86_64.rpm 
    && wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/devel:/libraries:/ACE:/micro:/versioned/CentOS_7/x86_64/mpc-6.3.3-42.1.x86_64.rpm 
    && rpm -ivh mpc-6.3.3-42.1.x86_64.rpm 
    && rm -f mpc-6.3.3-42.1.x86_64.rpm 
    && wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/devel:/libraries:/ACE:/micro/CentOS_7/x86_64/ace-devel-6.3.3-55.1.x86_64.rpm 
    && rpm -ivh ace-devel-6.3.3-55.1.x86_64.rpm 
    && rm  -f ace-devel-6.3.3-55.1.x86_64.rpm

#配置时区,登录信息等
RUN ln -sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime 
    && sed -i 
        -e "s/^UsePAM yes/#UsePAM yes/g" 
        -e "s/^#UsePAM no/UsePAM no/g" 
        -e "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" 
        -e "s/^#UseDNS yes/UseDNS no/g" 
        /etc/ssh/sshd_config 
    && echo "root" | passwd --stdin root 
    && ssh-keygen -q -b 1024 -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key 
    && ssh-keygen -q -b 1024 -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key 
    && echo "NETWORKING=yes" > /etc/sysconfig/network

RUN rm -rf ${SRC_DIR}/*
RUN rm -rf /tmp/*

(3) 编写build.yml

version: "2"
services:
  base:
    build: ./
    image: base-env:latest

(4) 执行构建命令

docker-compose -f build.yml build

(5) 构建完成

构建完成后可使用 docker images 查看构建好的镜像,镜像名称为base-env,版本为latest

 

4.备注

镜像构建完成后,如果有需要的软件忘记装,可以依赖镜像启动容器

docker run -it --rm --name base-env base-env:latest

启动后将直接登录进容器,然后安装所需软件,安装完毕后切勿exit退出,因为启动容器时使用了--rm参数,一旦退出,所有修改都会丢失

这时应当新开一个命令行窗口,执行保存修改命令

docker commit base-env base-env:latest

这时就可以回到原来的命令行exit退出容器,所有修改也保存并更新到镜像中了

 

下次将开始编译mangoszero服务端代码

当前文章:http://0477auto.com/kan/4y4v6y6tbn.html

发布时间:2019-02-18 00:33:23

有扑克的漫画男生图片 吉林棋牌三打一 聚友堂棋牌官网客服 来一把麻将怎么加好友 零点棋牌游戏大厅下载 貔喜游戏脉动棋牌支持 手机棋牌作弊土方法 百度棋牌游戏评测网站

编辑:侯杜文

我要说两句: (0人参与)

发布