開始構建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 <[email protected]> #設定容器環境變數
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服務的通用映象,下一步,就可以基於此映象構建世界服務端和驗證服務端

下一節將開始構建驗證服務端