マイクラ自動化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分ぐらいでコンテナが起動します。