マイクラコンテナを変更する方法

Azure

マイクラ自動化02「湧き潰し自動化でプログラミング& Azure 入門!コンテナ、デプロイされるってよ」#くらでべ #マイクラ #Minecraftで使っているコンテナは、rioriost/minecraft-serverですが、これをカスタマイズする手順を書いておきます。macOSを想定していますが、各ドキュメントのリンクを読めば、他のプラットフォームでも以下の手順はほぼ同じです。

Azureサブスクリプション

最初に。Azureにデプロイすることが前提なので、Azureのサブスクリプションが必要です。無料評価版でももちろん動作するので、サブスクリプションが無い場合、ここからアカウントを作成しておいてください。

Azure CLIのインストール

また、Azure CLIも必要になるので、もしインストールしていなければ以下の手順でインストールします。macOSではbrewをインストールして、brewでAzure CLIを入れるのが楽なのでオススメです。ターミナルを開いて、以下のコマンドを実行します。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brewのインストールが完了したら、続いてAzure CLIをインストールします。

$ brew install azure-cli

Dockerのインストール

さらに、Dockerをインストールします。Docker Desktop for MacからDocker.dmgをダウンロードして、通常のアプリと同じようにインストールします。Dockerのログインアカウントを作成したのち、ターミナルを開いてdocker loginコマンドを実行します。

$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: 
Password: 
Login Succeeded

gitのインストール

次に、gitをインストールします。Azure CLI同様、brewでインストールします。

$ brew install git

これでgitが使えるようになりました。Dockerfileを含むレポジトリをcloneします。cloneするとdockerfilesというディレクトリが作成されるので、git cloneを実行する前に適当なディレクトリにcdしておくことをオススメします。

$ cd Documents
$ git clone https://github.com/rioriost/dockerfiles

server.propertiesの編集

dockerfiles/minecraft-server/server.propertiesというファイルがあります。これはマイクラサーバの設定をするためのファイルで、このファイルを適当なエディタで開き編集します。各パラメータについてはMinecraft Wikiを見るのが良いでしょう。

コンテナのビルド

これで設定を変更出来たので、変更した設定を反映したマイクラコンテナを作成します。ターミナルを開いてビルドします。

$ cd Documents/dockerfiles/minecraft-server/
$ docker build -t your_account/minecraft-server .

your_accountの部分は先に作成したDockerのアカウント、minecraft-serverの部分は好きな文字列で構いませんが、分かりやすいものにしておきましょう。コマンドの最後にある「.」(ピリオド)は必須です。ビルドが終わったらDocker HubにPushしましょう。

$ docker push your_account/minecraft-server

コンテナの公開設定

さらにDocker Hubにログインします。先ほどPushしたコンテナイメージが表示されるので、それをクリックします。

[Settings]をクリックすると、Visibility Settingsという項目があるので、[make public]ボタンをクリックし公開します。公開しないと、ACI (Azure Container Instances)からPullする際に認証が必要となり、少々面倒です。

デプロイスクリプトの修正

もう一つだけ作業が必要です。マイクラコンテナをデプロイするスクリプトをダウンロードして、ここまでの手順で作成したコンテナイメージを使うように修正します。

$ git clone https://github.com/rioriost/deploy_minecraft

deploy_minecraftというディレクトリの中に、create_minecraft.shというファイルがあります。これをエディタで編集します。編集箇所は7箇所。
まずは定数としてある4〜9行です。Azureのアカウント名は変えなくても動きますが、気持ち悪いと思うので変更してください(笑)。デフォルトではAzure東日本(japaneast)に展開しますが、お住まいの地域に併せて西日本(japanwest)や他のリージョンを指定してください。絶対に変更する必要があるのは8行目のRCON_PASSWORDです。出来るだけ強度の高いパスワードを選んでください。

  4 readonly AZURE_ACCT="rifujita"
  5 readonly ACI_RES_LOC="japaneast"
  6 readonly ACI_RES_GRP="${AZURE_ACCT}democraft"
  7 readonly ACI_STR_SH_NAME="acishare"
  8 readonly RCON_PASSWORD="testing"
  9 readonly ACI_CNT_NAME="${ACI_RES_GRP}-container"

もう1箇所はデプロイするコンテナイメージです。49行目のrioriost/minecraft-serverを、先にPushしたyour_account/minecraft-serverに置き換えます。

 49 res=$(az container create --image rioriost/minecraft-server -g $ACI_RES_GRP -n $ACI_CNT_NAME \

これで設定を変更したコンテナイメージを利用する準備が出来ました。

$ bash create_minecraft.sh

を実行すればおそらく2分ぐらいでコンテナが起動します。