Minecraftは1.7からライセンスをしっかりしてきて
購入者同士でもMinecraft(Mojangの成果物)の配布はだめだよ。となってますので
ONBUILDを使った方法でImageの配布をしてみました。
k2wanko/minecraft Repository | Docker Hub Registry
k2wanko/docker-minecraft Repository | Github
Dockerfileを作る
FROM k2wanko/minecraft:1.8
と、一行のDockerfileを作成する。
作成する場所は 新規にディレクトリを作りその中に置いたほうがいいです。
※カレントディレクトリ全て追加されてしまうため
Build
Dockerfileのある場所に移動して以下のコマンドを入れる。
$ docker build -t minecraft .
Sending build context to Docker daemon 4.096 kB
Sending build context to Docker daemon
Step 0 : FROM k2wanko/minecraft:1.8
Pulling repository k2wanko/minecraft
...
# Executing 2 build triggers
Step onbuild-0 : RUN download 1.8
---> Running in 84728c402590
######################################################################## 100.0%
---> cc670f2d4714
Step onbuild-1 : COPY . /data
---> 53f7a68bb12b
---> 53f7a68bb12b
Removing intermediate container 84728c402590
Removing intermediate container 072ebb2ced5a
Successfully built 53f7a68bb12b
Run
以下のコマンドで実行。
$ docker run -i -p 25565:25565 -e EULA=true minecraft
今の流れを一行にすると
mkdir mcserver && cd mcserver && echo "FROM k2wanko/minecraft:1.8" > Dockerfile && docker build -t minecraft . && docker run --name some-minecraft -i -p 25565:25565 -e "EULA=true" minecraft
まとめ
ONBUILDを使うことで
ONBUILDが記述されているDockerfileをFROMで呼び出した
Dockerfileの処理終了後に実行される。
今回MinecraftServerのDownload処理をこのOBUILDに書き込むことで配布用のImageにライセンスでダメェって言われている物を含めることをせずに済んだということでした。
ちなみに1.7.10のforge serverも入れてますのでModServerもすぐに立ち上げられますね。