パブリック・レジストリー内のイメージからのアプリ・ワークロードのデプロイ
Code Engine でアプリをデプロイします。 コンソール または CLI を使用して アプリを作成できます。
コンソールからアプリをデプロイする
Code Engineコンソールを使用して、資格情報を必要としないパブリック・レジストリーからのイメージを含むアプリケーションをデプロイします。
この例では、IBM Cloud® Container Registry 内のパブリックicr.io/codeengine/helloworld
イメージを参照します。 あるいは、パブリック Docker ハブまたはプライベート・レジストリー内のイメージ内のイメージを参照することもできます。
- Code Engine コンソールを開きます。
- 「始めましょう」 を選択します。
- **「アプリケーション」**を選択します。
- アプリケーションの名前を入力します。 プロジェクト内で固有のアプリケーション名を使用してください。
- 選択可能なプロジェクトのリストからプロジェクトを選択します。 新規作成することもできます。 アプリをデプロイするには、選択したプロジェクトがなければなりません。
- アプリのコンテナー・イメージを指定します (例:
icr.io/codeengine/helloworld
)。 アプリ用のコンテナイメージに変換したいソースコードをお持ちの場合は 、「ビルドの計画」 を参照してください。 この例で使用されるコードについて詳しくは、helloworld
を参照してください。 - エンドポイントまたはランタイム設定のデフォルト値を変更します。 これらのオプションについて詳しくは、アプリのエンドポイント可視性のオプション および アプリをデプロイするためのオプションを参照してください。
- 「作成」 をクリックします。
- アプリケーションの状況が**「準備完了 (Ready)」**に変わったら、アプリケーションをテストできます。 **「アプリケーションのテスト (Test application)」をクリックしてから、「アプリケーションのテスト (Test application)」ペインで「要求の送信」をクリックします。 Web ページでアプリケーションを開くには、「アプリケーション URL (Application URL)」**をクリックします。
アプリケーションのデプロイが完了したので、アプリケーション・リビジョンと実行中のインスタンスに関する情報、および構成の詳細を表示できます。
CLI でアプリをデプロイする
CLI でアプリを作成してデプロイするには、app create
コマンドを使用します。 このコマンドには名前とイメージが必須です。また、オプションの他の引数を指定することもできます。 オプションの全リストについては、ibmcloud ce app create
コマンドを参照してください。
開始前に
- Code Engine の CLI 環境をセットアップします。
- プロジェクトを作成して使用できるようにします。
以下の**application create
**コマンドは、myapp
という名前のアプリを作成してデプロイし、コンテナー・イメージicr.io/codeengine/hello
を使用します。
ibmcloud ce application create --name myapp --image icr.io/codeengine/hello
出力例
Creating application 'myapp'...
OK
[...]
Run 'ibmcloud ce application get -n myapp' to check the application status.
OK
https://myapp.4idmmq6xpss.us-south.codeengine.appdomain.cloud
以下の表は、この例の app create
コマンドで使用されるオプションの要約です。 コマンドとそのオプションについて詳しくは、ibmcloud ce app create
コマンドを参照してください。
オプション | 説明 |
---|---|
--name |
アプリケーションの名称。 プロジェクト内で固有の名前を使用します。 この値は必須です。
|
--image |
このアプリケーションに使用するイメージの名前。 この値は必須です。 形式は REGISTRY/NAMESPACE/REPOSITORY:TAG です。REGISTRY と TAG はオプションです。 TAG を指定しない場合、そのデフォルトは latest です。 Docker Hub 内の画像については、 NAMESPACE/REPOSITORY で画像を指定できます。 Registry のデフォルトは docker.io です。 その他のレジストリーの場合は、REGISTRY/NAMESPACE/REPOSITORY または REGISTRY/NAMESPACE/REPOSITORY:TAG を使用します。 |
次のステップ
-
アプリがデプロイされた後、URL を使用してアプリへのアクセスを実行します。
-
カスタム・ドメイン・マッピング を作成して、それをアプリに割り当てることができます。 カスタム・ドメイン・ネームを使用して複数のリージョンにアプリをデプロイする方法について詳しくは、 高可用性アプリケーションの構成 を参照してください。
-
アプリが配備されたので、アプリをイベント駆動型にすることを検討してください。 イベント・サブスクリプションを使用することで、 定期的なスケジュール によってアプリをトリガーしたり、 ファイル・アップロード や Kafka メッセージ などのイベントに対応するようにアプリを設定したりできます。
アプリがデプロイされると、アプリの作成方法や以前の更新方法に関係なく、以下の任意の方法でデプロイされたアプリの更新および参照されるコードの更新を行うことができます。
-
Open Container Initiative(OCI)標準に準拠したコンテナイメージをお持ちの場合は、アプリをデプロイする際に、コンテナレジストリの場所を指すイメージへの参照のみを提供する必要があります。 パブリック・レジストリー または プライベート・レジストリー 内のイメージを使用してアプリをデプロイできます。
app create
コマンドを使用してアプリを作成し、--build-source
オプションを指定してローカルまたはリポジトリー・ソースからコンテナー・イメージをビルドし、別のコンテナー・イメージを指すようにアプリを変更する場合は、まずアプリからビルドの関連付けを削除する必要があります。 例えば、ibmcloud ce application update -n APP_NAME --build-clear
を実行します。 アプリからビルドの関連付けを削除した後、別のイメージを参照するようにアプリを更新できます。 -
Git リポジトリーにあるソース・コードから開始する場合は、ソースからイメージをビルドし、単一操作でアプリをデプロイする処理を Code Engine に任せることができます。 このシナリオでは、Code Engine はイメージを IBM Cloud® Container Registry にアップロードします。 詳しくは、リポジトリー・ソース・コードからのアプリのデプロイを参照してください。 イメージのビルドをより詳細に制御したい場合は、アプリをデプロイする前に Code Engine を使用してイメージのビルドを選択できます。
-
ローカル・ワークステーションにあるソース・コードから開始する場合は、ソースからのイメージのビルドと単一 CLI コマンドを使用したアプリのデプロイを Code Engine に処理させることができます。 このシナリオでは、Code Engine はイメージを IBM Cloud® Container Registry にアップロードします。 詳しくは、CLI を使用したローカル・ソース・コードからのアプリのデプロイを参照してください。 イメージのビルドをより詳細に制御したい場合は、アプリをデプロイする前に Code Engine を使用してイメージのビルドを選択できます。
例えば、アプリのソースの開発を進化させながら、ローカル・ソースのビルドを Code Engine に処理させることができます。 その後、イメージが成熟すると、必要な特定のイメージを参照するようにデプロイ済みアプリを更新できます。 必要に応じて、このプロセスを繰り返すことができます。
更新したアプリをデプロイすると、イメージにタグが指定されていない限り、参照されているコンテナー・イメージの最新バージョンがダウンロードされてデプロイされます。 イメージにタグが指定されている場合、タグ付けされたイメージがデプロイメントに使用されます。
コード・サンプルがさらに必要ですか? IBM Cloud Code Engine GitHub repoを確認してください。