此项目参考了 https://github.com/lostsnow/docker-fluffos ,在此基础上找到最终解决方法。
fluffos版本为:3.0-alpha9.0
docker版本为:1.12.6
docker基础系统为:ubuntu:14.04
建立为编译fluffos源码的docker镜像,确定已经安装了docker 1.12.+/git。以下的命令可能需要 su root 或者 sudo。
mkdir mudserver
cd mudserver
git clone https://github.com/fabletang/docker-fluffos
cd docker-fluffos
docker build -t fable/fluffos-build ./build
成功后,docker images 可以看到 REPOSITORY下 显示fable/fluffos-build 。
下载fluffos源码
cd ..
cd mudserver
git clone https://github.com/fluffos/fluffos.git
编译fluffos源码,生成mudlib的驱动, 最终产生包括driver的3个二进制。 XXXX替换为相应的目录.
docker run --rm -v /XXXX/mudserver:/opt/projects fable/fluffos-build
成功后,ls -la docker-fluffos/bin/,可以看到三个二进制文件,注意日期,是否新生成的。 (因为此项目已经包括编译好的二进制,当然你也可以直接使用,忽略以上步骤。^_^)
生成fluffos驱动镜像,实际就是把 3个二进制打包进docker, 同时安装其运行需要的lib库。
docker build -t fable/fluffos ./docker-fluffos
成功后,docker images 可以看到 REPOSITORY下 显示fable/fluffos 。
运行mud,即用floffs驱动mudlib,比如fy4/xkx等(https://github.com/mudchina/ 有一些mudlib)。 以下的 fy4 为参考,可能需要修改源码。
cd mudserver
mkdir mudlib
cd mudlib
git clone https://github.com/huangleon/fy4.git
cp mudserver/docker-fluffos/example/fy4.ini fy4/fy4.ini
docker run -d --name fy4 \
-p 8888:8888 \
-v XXX/mudserver/mudlib/fy4/:/opt/projects \
fable/fluffos /opt/projects/fy4.ini
成功后,docker ps,可以看到"0.0.0.0:8888->8888/tcp", 失败可以 docker logs -f fy4. 也可以进一步查看mudlib的debug.log. (比如tail -f mudserver/mudlib/fy4/log/debug.log.)