Dockerの使用
Docker をビルドする
サンプルは、ウェブサイトの構築と実行だけでなく、GenvidサービスのためにDockerに依存しています。ローカルにDockerのバージョンをインストールするか、Amazon EC2上に直接Dockerビルドサーバを作成することができます。
docker-machine は deprecated upstream で、そのデフォルト AMI の有無が変わることがありますが、Genvid Toolbox は、デフォルト AMI を使用して Docker リモートホストを作成するオプションが用意されています。これは、Genvid Toolbox 使用する際に、より安全な代替方法です。
Genvid AMI を用いて新しいリモート Docker インスタンスを作成するには、 genvid-ami
コマンドに create-docker-machine
オプションを指定します。:
genvid-ami create-docker-machine [docker-name]
[docker-name]
はマシンを参照するための一意な名前です。
その後、 bin
の下にインストールされた docker-machine を使用してインスタンスを制御します。例えば、リモートインスタンスを終了させるには、次のように実行します。:
bin\docker-machine rm [docker-name]
ローカルにインストールする場合は、 WindowsにDockerをインストールする を参照してください。
プロジェクトをビルドする
チュートリアルのサンプルには、少しのコンテンツしか存在しません。そこで、アーカイブを作成して、サブディレクトリ 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
のサブディレクトリにビルドされます。スクリプトはイメージ名にチェックサムを指定し、古いイメージを削除します。スクリプトのプロダクションバージョンは、念のため古いバージョンを残しておいた方がよいでしょう。