先日Docker でマイクラサーバーを立てたのでメモとしてここに書き残します。
必要なもの
- Dockerが動くパソコン
Docker とはなんぞや
この記事を開いた方はDockerをすでにご存知だと思います。
それでも定義を確認したいのでChatGPT 先生に聞いてみました。
Docker は、コンテナ仮想化技術を用いたアプリケーション実行環境を提供するオープンソースのプラットフォームです。
Docker を使うことで、アプリケーションやサービスを実行するための環境を、軽量で簡単に作成・管理できます。
コンテナとは、アプリケーションを実行するために必要なすべてのライブラリや依存関係、設定ファイルなどを含めた環境を、独立した単位でパッケージ化したものです。
このコンテナ技術を使うことで、アプリケーションが異なる環境で実行される際に発生する互換性の問題を解決することができます。
要するにコンテナで動作が保証された環境を動かすことができます。
インストール
これからDockerをインストールします。Dockerは古いと困りますので、公式リポジトリからインストールしてくださいね。
# as root user
dnf -y install dnf-plugins-corednf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker.servicesystenctl status docker.service
これはAlma Linux向けのセットアップっとなっております。UbuntuやDebianなどその他のOSをご利用になられる方は公式ドキュメントをご参照ください。


サーバーを立てる
今回は Docker Compose を使ってサーバーを立てようと思います。
Docker Image はitzg/docker-minecraft-server
を使おうと思います。


Minecraft サーバーソフトウェアについて
Minecraft のサーバーにはいくつか種類があって、例えば Bukkit、Spigot、PaperMC なんかが有名どころですね。Mod サーバーなら Forge や Fabric もあったりします。
これから使用するDockerイメージのitzg/docker-minecraft-server
はこれらのサーバーソフトウェア全てに対応してるところが非常に好印象です。
この記事では PaperMC を使用することとして、書かせていただこうと思います。
こちらの記事では前述の通りに PaperMC を使用していますが、他のサーバーソフトウェアを利用する場合でも、基本的な構築方法に違いはありません。そのため、Bukkit
や Fabric
を使用する場合でも、同様の手順で構築できます。
Docker Composeを使おう
Docker Composeの定義はご存知だと思いますが、例のごとくChatGPTに聞いちゃいます。
Docker Compose は、複数のコンテナを簡単に管理・起動できる Docker のオーケストレーションツール です。通常、Docker でコンテナを作成する際は docker run コマンドを使いますが、複数のコンテナを連携させる場合、個別に設定や起動を行うのは手間がかかります。Docker Compose を使うと、設定ファイル(docker-compose.yml)を用意するだけで、複数のコンテナを一括で管理・起動 できます。
つまり、弁当箱みたいなものです。
普通に Docker でコンテナを動かすのは、おかずを一品ずつタッパーに入れて持ち運ぶようなもの。
でも、Docker Composeを使うと、docker-compose.yml
という「弁当箱」に必要なおかず (コンテナ) をまとめて詰められます。便利ですねー
いつも通りのエディターで docker-compose.yml
を作ります。大詰めvimはフライパンといったところでしょうか。
vim docker-compose.yml
- PaperMC Example
version: "3.8"services: mc: image: itzg/minecraft-server container_name: paper environment: EULA: "true" TYPE: PAPER VIEW_DISTANCE: 10 MEMORY: 2G ports: - "25565:25565" volumes: - ./data:/data restart: unless-stopped
環境変数について
環境変数でサーバー設定をカスタムできます。特にこだわりがなければMEMORY
とVIEW_DISTANCE
の値を変更するだけで問題ないです。
MEMORY
: メモリサイズです。お好みに合わせて変更してください。VIEW_DISTANCE
: 描画距離についてです。値を低くすればサーバーが軽くなります。
環境変数について、詳しく知りたい場合は公式ドキュメントをご参照ください。


おおかた設定はできたので、サーバーを起動します。
docker compose up -d
Compose の構成を変更した場合は毎回up -d
してください。
マイクラを起動して、サーバーに入ってください
ローカルで立ち上げたなら、localhost:25565
に接続すればサーバーに入れます