minecraft
Docker

DockerでMinecraftServerを建てる

More than 3 years have passed since last update.

Minecraftは1.7からライセンスをしっかりしてきて

購入者同士でもMinecraft(Mojangの成果物)の配布はだめだよ。となってますので

ONBUILDを使った方法でImageの配布をしてみました。

k2wanko/minecraft Repository | Docker Hub Registry

k2wanko/docker-minecraft Repository | Github


Dockerfileを作る


Dockerfile


FROM k2wanko/minecraft:1.8


と、一行のDockerfileを作成する。

作成する場所は 新規にディレクトリを作りその中に置いたほうがいいです。

※カレントディレクトリ全て追加されてしまうため


Build

Dockerfileのある場所に移動して以下のコマンドを入れる。

$ docker build -t minecraft .


log

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もすぐに立ち上げられますね。