Dockerでminecraftを動かすメモのようなもの。Qiita初めてなのでテストも兼ねて。
方針としてはホストの/var/lib/minecraftをminecraftサーバーのディレクトリとしてdockerでminecraft.jarを動かすという感じ(/var/lib/minecraftをvolumeとしてコンテナ内にマウント)。
figを使うのでfigコマンドが動くようにしておく必要がある。まあdocker runで起動しても良いんだけど。
figはすでに時代遅れなので、今は代わりにdocker-composeを使うことができる。fig.ymlがdocker-compose.ymlになるだけで記法は同じ。
Dockerfileを次のような感じで書いて適当なディレクトリに保存
Dockerfile
FROM ubuntu:14.04
#MAINTAINERも自分の名前に変更
MAINTAINER opamp_sando <opampg@gmail.com>
RUN apt-get update
RUN apt-get -y install openjdk-7-jre > /dev/null
WORKDIR /var/lib/minecraft
# jarファイルの名前を自分の環境に合わせて変更する
CMD ["/usr/bin/java", "-Xmx1024M", "-Xms1024M", "-jar" "minecraft_server.1.7.10.jar"]
# Forgeを使う場合はこんな感じ
#CMD ["/usr/bin/java", "-Xmx1024M", "-Xms1024M", "-jar", "forge-1.7.10-10.13.0.1207-universal.jar", "nogui"]
"~/minecraft/Dockerfile"として上記のDockerfileを保存したとすると、~/docker-compose.ymlに
docker-compose.xml
minecraft:
build: minecraft/
ports:
- "25565:25565"
volumes:
- /var/lib/minecraft:/var/lib/minecraft
という感じでminecraftを登録して
$ docker-compose up
するとminecraftサーバーが動く(はず)
Docker runで動かすなら
$ docker run -p 25565:25565 -v /var/lib/minecraft:/var/lib/minecraft minecraft_container_name
という具合で動くはず。