開始構建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服務的通用映象,下一步,就可以基於此映象構建世界服務端和驗證服務端
下一節將開始構建驗證服務端