Docker

Docker をビルドする

サンプルは、ウェブサイトの構築と実行だけでなく、GenvidサービスのためにDockerに依存しています。ローカルにDockerのバージョンをインストールするか、Amazon EC2上に直接Dockerビルドサーバを作成することができます。

program:docker-machinedeprecated upstream で、そのデフォルト AMI の有無が変わることがありますが、Genvid SDK には、デフォルト AMI を使用して Docker リモートホストを作成するオプションが用意されています。これは、Genvid SDK を使用する際に、より安全な代替方法です。

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 のサブディレクトリにビルドされます。スクリプトはイメージ名にチェックサムを指定し、古いイメージを削除します。スクリプトのプロダクションバージョンは、念のため古いバージョンを残しておいた方がよいでしょう。