はじめに
現在、弊社では「サンドボックスゲーム同好会」というのを立ち上げようとしています。
なにをする同好会かというと、今はMOD入りMinecraftをマルチプレイで遊ぶ会になっています。
月に1回MODを入れ替える作業をするのですが、これがいろいろバージョンの問題とかデーモン化の問題とかでめんどくさいので、サーバを移し替えるのとセットで、Dockerに移すことにしました。
動作環境
- ConoHa 4GBサーバ(2GBじゃ足りなかったので)
- CentOS 7(標準サーバです。CentOSのバージョンはメンバーにアンケートを取りました。)
- DockerはDocker公式リポジトリからインストール
- docker-compose もインストール
構成ファイル
所感
良かった点
Docker Compose が便利だった。
最初はコンテナにそのままで動かしていたのですが、ボリュームコンテナを作る際にComposeを使うように変更してみました。
一度の操作でワールド用コンテナも作成することができ、MODを弄ってビルドしなおしになった際も同じコンテナを参照してくれるので、とても作業が捗るようになりました。結果としてサーバのダウンタイム低下につながっています。
この環境を構築したおかげで、11月から12月への構成の移行はそれほど苦労せずに移行できました。
事前にコンテナを準備してあれば、すぐに切り替えが可能
コンテナを準備するだけですぐに切り替えが可能なので、メンテナンスが超楽です。
MODの構成を変更したらローカルでビルドして確認することも容易で、最近ではDocker for Windowsで確認後にデプロイしています。
改善したい点
バックアップ体制
まだ構築したばかりで、何もバックアップを取っていません。
さすがに複数台構成とかにするつもりはありませんが、1箇所にデータが固まっているのはリスクだなと感じています。
一応バックアップを取るコマンドは作っています。以下の様な形式です。
docker run --volumes-from minecraft201512_world_1 -v $(pwd):/backup busybox tar cvf /backup/minecraft201512_world.tar /data/world
参考 → http://qiita.com/manabuishiirb/items/6da3cd926fe674307615
メモリ使用率の問題
MOD構成によってメモリ使用率が大きく変わるので、MODによってサーバを変える必要があります。
今回ConoHaを利用したのはまさにそこで、すぐにメモリの多いプランに乗り換えることができます。メモリを食う構成が終わったら同じ環境のままメモリ量を減らせます。
今のところ正式な同好会ではなくカンパで動いているサーバなので、時間課金があることも合わせてとても便利です。
ただ、ConoHaさん、メモリ量変更してからかなり待たされるのなんとかしてください!
インフラエンジニアの不足
インフラエンジニアの社員が同好会にいません。
Docker触ってみたい弊社のインフラエンジニアがいればぜひ手伝ってください!!!
参考情報
DockerでMinecraftServerを建てる
docker-backupをdata volumeのデータをバックアップする
docker-composeを使うと複数コンテナの管理が便利に
さいごに
「サンドボックスゲーム同好会」は毎晩楽しくマインクラフトをプレイしています!