Docker¶
Docker をビルドする¶
このサンプルは、Docker を使用して、Genvid サービスと、Web サイトの構築と運営の両方に使用できます。Docker のバージョンはローカルにインストールすることができますが、Docker ビルドサーバーを Amazon EC2 に直接作成する方が簡単です。(Docker マシン)
ローカル環境へのインストールについては、Windows への Docker のインストール を参照してください。
はじめに使用可能なアベイラビリティゾーンを探します。
aws ec2 describe-availability-zones --query AvailabilityZones[0].ZoneName --output text
戻り値の末尾は、アベイラビリティゾーンに対応、残りは領域を表しています。たとえば、名称が us-east-1b
の場合:
- 領域は
us-east-1
- アベイラビリティゾーンは
b
このアベイラビリティゾーンに Docker マシンを作成するには:
bin\docker-machine create --driver amazonec2 --amazonec2-region us-east-1 --amazonec2-zone b [docker-name]
[docker-name]
は、マシンを参照する一意の名前です。
マシンが作成できたら、以下のコマンドでシャットダウンできます。
bin\docker-machine rm [docker-name]
プロジェクトをビルドする¶
チュートリアルのサンプルには、少しのコンテンツしか存在しません。そこで、アーカイブを作成して、サブディレクトリ images
にアップロードすることができます。このコマンドは、Docker が必要な Web サイトの構築も行うため、Docker のインストール場所やサーバーを通知する必要があります。
# On Windows command prompt
@FOR /f "tokens=*" %i IN ('"bin\docker-machine" env [docker-name]') DO @%i
# On bash for Windows
eval $(bin/docker-machine env [docker-name])
# With Powershell
bin/docker-machine env [docker-name] | Invoke-Expression
[docker-name]
は指定した名称です。Docker をローカルで実行している場合は default
になります。コマンドが終了したら、ゲームと Web をビルドできます。
cd samples/cube/directx
py directx.py prepare
py directx.py build-cloud
cd ../web
py web.py build-cloud
このコマンドは、2 つのアーカイブをそれぞれの images
のサブディレクトリにビルドされます。スクリプトはイメージ名にチェックサムを指定し、古いイメージを削除します。スクリプトのプロダクションバージョンは、念のため古いバージョンを残しておいた方がよいでしょう。