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