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服务的通用镜像,下一步,就可以基于此镜像构建世界服务端和验证服务端

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

原文地址:https://www.cnblogs.com/oliverCJ/p/8563734.html