LoginSignup
2
4

More than 1 year has passed since last update.

【Docker】初心者がMinecraft Serverをつくってみた

Last updated at Posted at 2022-09-21

はじめに

DockerfileをつくってからMinecraft Serverを起動するまでの覚え書きです。
実際にDockerを扱うための体系的な知識はここにありません。すみません。

だれでもご利用いただけるように成果物も載せてるのでよければ見てください。

記事内ではユーザ名をkdrvk、イメージ名をminecraft-server、タグ名をlatestとしています。

Dockerfileを作成

# 空のDockerfileを作成
$ touch Dockerfile

# Dockerfileを編集
$ vi Dockerfile
Dockerfile
# ディストリビューションを指定する
FROM ubuntu:22.04

# パッケージを更新してOpenJDKをインストール
# minecraftというアカウントを作成
RUN apt -y update && apt -y install openjdk-17-jre
RUN useradd -m -s /bin/bash minecraft

# ディレクトリを/home/minecraftに移動
WORKDIR /home/minecraft

# 公式サイトよりserver.jarをダウンロード
# server.jarの所有者とパーミッションを変更
ADD https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar .
RUN chown minecraft:minecraft server.jar && chmod 644 server.jar

# ユーザーをminecraftに変更
USER minecraft

# server.jarを実行しeula.txtを生成
# eula.txt内のfalseをtrueに書き換える
RUN java -Xmx1024M -Xms1024M -jar server.jar nogui
RUN sed -i "s/false/true/" eula.txt

# コンテナを展開するときにserver.jarを実行する
CMD java -Xmx1024M -Xms1024M -jar server.jar nogui

Dockerfileを作成して上記のテキストを書き込みます。

イメージをビルド

$ docker build -t <イメージ名>:<タグ名(オプション)> .
$ docker build -t kdrvk/minecraft-server:latest .

カレントディレクトリのDockerfileからイメージをビルドします。

Successfully built 2d4458401b49
Successfully tagged kdrvk/minecraft-server:latest
$ docker image ls
REPOSITORY               TAG       IMAGE ID       CREATED         SIZE
kdrvk/minecraft-server   latest    2d4458401b49   4 minutes ago   791MB
ubuntu                   22.04     2dc39ba059dc   2 weeks ago     77.8MB

イメージがビルドされました。

Minecraft Serverを起動

$ docker run <イメージ名>:<タグ名(オプション)>
$ docker run -it -p 25565:25565 --name minecraft kdrvk/minecraft-server:latest

ビルドしたイメージからコンテナを起動します。

-itはコンテナの中に入って標準入力をするのに必要です。
-pで<ホスト側のポート>:<コンテナ側のポート>を指定しています。
--name で名前をつけておくとコンテナを削除するときとかに便利です。

[14:33:41] [Server thread/INFO]: Done (91.733s)! For help, type "help"

2022-09-21_00.30.30.png
Minecraft Serverが起動しました。

成果物

今回つくったイメージです。

おまけ(簡単な操作方法)

あらかじめEULAに同意してポート25565を開放してください。

$ docker run -it -p 25565:25565 --name minecraft kdrvk/minecraft-server:latest

Minecraft Serverを起動

stop

Minecraft Serverを停止

$ docker start minecraft

Minecraft Serverを再開

$ docker attach minecraft

コンソールにアタッチ

$ docker exec -it minecraft bash

コンテナ内を操作したり設定を変えたり

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4