最近のアクセス:
Docker にアプリケーションをデプロイする方法
このページの手順に沿って、Java 、.NET と .NET Core ジェネレーターで生成されたアプリケーションを Docker コンテナに簡単にデプロイして実行できます。
この手順はデータベースではなく、生成されたプログラムをデプロイするのに役立ちます。データベースのデプロイ方法については、「再編成をエクスポート」を参照してください。その他のオプションについては、「アプリケーションをデプロイ」を参照してください。
ソフトウェア要件:

Docker へのデプロイ手順

  1. アプリケーションを特定のターゲット (本番環境など) に初めてデプロイする際には、事前にナレッジベースに新しい環境を作成して、次のようにすることをおすすめします。
    • GeneXus で使用するコンピューターの Tomcat または IIS でアプリケーションをローカルに実行する
    • アプリケーションをターゲット (本番環境など) のデータベースに接続する
  2. [ すべてビルド ] を実行します。
  3. [ ビルド ] メニューに移動して、 [ アプリケーションをデプロイ ] オプションを選択します。
  4. [ デプロイメント ] 画面で、次のように設定します:
    1. デプロイに含めるメインオブジェクトを選択します。
    2. [ ターゲット ] で、 [ Docker Image ] オプションを選択します。
    3. 次のプロパティを指示どおりに設定します (すべてのフィールドに既定値があります):
      1. [ Docker base image ] プロパティ: 新しいイメージを作成する際にベースとして使用するイメージ
      2. [ Maintainer name ] プロパティ: イメージの作成者の名前 (イメージのメタデータの一部として設定される)
      3. [ Docker Environment variables ] プロパティ: イメージを事前にインスタンス化するすべての環境変数
      4. [ Image WebApp location ] プロパティ: Docker イメージ内のアプリケーション実行パス
      5. [ Docker image name ] プロパティ: 生成される Docker イメージの名前
  5. [ デプロイ ] ボタンをクリックして、Docker イメージを作成します。
Windows のコマンドプロンプトで次のコマンドを実行すると、上記の手順で作成したものを含む Docker イメージが一覧表示されます。
Docker イメージ

Docker イメージの実行手順

Java

Java 環境では、Linux ベースのイメージが生成されます。以前作成したイメージを使用してコンテナを実行するには、次のコマンドを実行します。
docker run --rm -p 9999:8080 <Docker イメージ名>
入力値の説明:
  • --rm は、シャットダウン時にコンテナが削除されることを示します。
  • 9999:8080 は、ポート 8080 (Tomcat の既定値) がホストで 9999 として公開されていることを示します。
  • <Docker イメージ名> は、前の手順で作成したイメージの名前です。
このコマンドを正しく実行すると、http://localhost:9999/servlet/<Java パッケージ名>.<修飾オブジェクト名> からアプリケーションのメインオブジェクトにアクセスできるようになります。

C#

C# 環境では、Windows ベースのイメージが生成されます。以前作成したイメージを使用してコンテナを実行するには、次のコマンドを実行します。
docker run --rm <Docker イメージ名>
入力値の説明:
  • --rm は、シャットダウン時にコンテナが削除されることを示します。
  • <Docker イメージ名> は、前の手順で作成したイメージの名前です。
注: しばらくすると、出力にエラーが表示されますが、このエラーは無視してかまいません (https://github.com/Microsoft/aspnet-docker/issues/69 を参照)。
ERROR ( message:Cannot find requested collection element.)
Applied configuration changes to section "system.applicationHost/applicationPools" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"
Windows のコンテナは同じホストでは (事実上) 実行されません。コンテナが実行される IP を取得するには、次のコマンドを実行します。
docker ps
実行中のコンテナが一覧表示され、コンテナ ID が表示されます。
コンテナ上のアプリケーションのメインオブジェクトにアクセスするには、http://<コンテナ ID>/<修飾オブジェクト名>.aspx を実行します。

.NET Core

.NET Core 環境では、Linux ベースのイメージが生成されます。以前作成したイメージを使用してコンテナを実行するには、次のコマンドを実行します。
docker run --rm -p 9999:80 <Docker イメージ名>
入力値の説明:
  • --rm は、シャットダウン時にコンテナが削除されることを示します。
  • 9999:80 は、ポート 80 (Web の既定値) がホストで 9999 として公開されていることを示します。
  • <Docker イメージ名> は、前の手順で作成したイメージの名前です。
このコマンドを正しく実行すると、http://localhost:9999/<修飾オブジェクト名>.aspx からアプリケーションのメインオブジェクトにアクセスできるようになります。

制限

  • 既定の Docker ベースイメージを使用する際には、次の点に留意してください。
  • Java で作成したデプロイパッケージ (war) は、Tomcat 8.x と互換性があります。
  • .NET で作成したデプロイパッケージは、IIS 8 (以上) と互換性があります。

参考情報

FAQ

1) 既に独自のイメージがあり、それを使用してアプリケーションを実行したいと考えています。そこにアプリケーションをデプロイできますか。
複数のバージョンをインストールすることはできますが、Genexus で使用される既定のベースイメージは、 [ Docker base image ] プロパティで変更できます。このプロパティで独自のイメージを設定できます。コンピューター上にないイメージは、Docker クライアントがレジストリから取得します。[ Image WebApp location ] プロパティの変更も必要になる場合があることに留意してください。



サブページ
Created: 18/10/29 01:06 by Admin Last update: 20/01/08 21:43 by Admin
カテゴリ
Powered by GXwiki 3.0