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

开始构建WOW服务端通用镜像

第二篇文章中准备工作环节已经从github拉取了mangosd源代码,这里我们就可以直接开始编写dockerfile并进行编译

(1) 进入mangos/wow60/mangos-zero目录

$: cd mangos/wow60/mangos-zero
$: touch Dockerfile
$: touch build.yml

(2) 编写Dockerfile

#基于上一环节构建的通用基础镜像
FROM base-env:latest

#个人信息
MAINTAINER oliverCJ <cgjp123@163.com>

#设置容器环境变量
ENV SRC_DIR /data/source
ENV MANGOS_DIR /data/mangos
ENV WOW_DATA_DIR /data/mangos/data
ENV MANGOS_LOG_DIR /data/mangos/log

#创建容器目录用于存储mangosd编译后的内容
RUN mkdir -p ${SRC_DIR} \
    && mkdir -p ${MANGOS_DIR} \
    && mkdir -p ${WOW_DATA_DIR} \
    && mkdir -p ${MANGOS_LOG_DIR}

#把宿主机当前目录的server文件夹复制到容器中对应目录
COPY ./server ${SRC_DIR}/server

#编译Mangosd
RUN cd ${SRC_DIR}/server/build \
    && cmake ${SRC_DIR}/server -DCMAKE_INSTALL_PREFIX=${MANGOS_DIR} \
    && make \
    && make install \
    && rm -rf ${SRC_DIR}/server

#配置Mangosd
RUN cd ${MANGOS_DIR}/etc \
    && cp mangosd.conf.dist mangosd.conf \
    && cp realmd.conf.dist realmd.conf

#开放容器端口,用于服务
EXPOSE 22 3724 8085

(3) 编写build.yml

version: '2'
services:
  mangosd-zero:
    build: ./
    image: mangosd-zero:latest

(4) 执行构建

docker-compose -f build.yml build

(5) 构建完成

构建完成后,镜像名为 mangosd-zero ,版本为 latest 

 

这里我们构建好了mangosd服务的通用镜像,下一步,就可以基于此镜像构建世界服务端和验证服务端

下一节将开始构建验证服务端

 

posted @ 2018-03-13 23:34  oliverCJ  阅读(906)  评论(0编辑  收藏  举报