最近のアクセス:
OpenShift への Docker イメージのデプロイ

OpenShift とは、Kubernetes のオーケストレーターです。いくつかの追加のセキュリティ制限があります。特に (ほかのいくつかの相違に加えて)、このプラットフォームでは、ランダムな UUID を使用して任意のコンテナが実行されます。そのため、Docker イメージがルート以外で実行できる状態にない場合、エラーが発生します。
OpenShift にデプロイするには、デプロイターゲット Docker イメージのプロパティの [ Container ] プロパティ = {Default, Openshift} を使用できます (Java と .NET のみ)。これは MSBuild の DOCKER_CONTAINER_RUNTIME プロパティに対応します。詳細情報は、「Docker へデプロイする MSBuild タスク」を参照してください。
コンテナが OpenShift の場合、 [ Registry Image ] プロパティが表示されます。ここで、ベースイメージのレジストリを選択できます (Docker Hub または Red Hat レジストリ)。対応する MSBuild のプロパティは DOCKER_IMAGE_REGISTRY です。
この場合の MSBuild は次のようになります:
MSbuild.exe /nologo /verbosity:normal /ToolsVersion:14.0 "c:\fullgx\gxsalto\DeploymentTargets\Docker\deploy.msbuild" 
/p:DeploySource="c:\fullgx\kbaux\Deploy\NetCoreModel\Docker\DeployNet.zip" 
/p:DOCKER_BASE_IMAGE=mcr.microsoft.com/dotnet/core/aspnet:6.0 
/p:DOCKER_MAINTAINER="fullgxops <fullgxops@genexus.com>" 
/p:DOCKER_WEBAPPLOCATION="/app" 
/p:DOCKER_IMAGE_NAME="kbauxnetcoreenvironment" 
/p:GENERATOR=".NET" 
/p:DOCKER_CONTAINER_RUNTIME=Openshift 
/p:DOCKER_IMAGE_REGISTRY=DockerHub 
/t:Deploy /l:FileLogger,Microsoft.Build.Engine;logfile=c:\fullgx\temp\DeployDocker.log
次の点に注目してください:
1.Red Hat レジストリを選択する場合は、 [ Base Image ] プロパティ (MSBuild の DOCKER_BASE_IMAGE プロパティ) に Red Hat イメージカタログからイメージを指定する必要があります。
Docker コマンドを使用してベースイメージを認証し、ダウンロードする場合は、マシンに一度ログインすると、資格情報が資格情報ストア (Linux では $HOME/.docker/config.json、Windows では %USERPROFILE%/.Docker/config.json) に保存されます。詳細はこちらを参照してください。Red Hat からイメージをダウンロードする際の認証については、こちらを参照してください。
2.イメージがルート以外の場合、1024 未満のポートでリッスンできません。
.NET ジェネレーターの場合、イメージを実行するときに、ユーザーはこの制限を考慮して、-expose オプションで適切なポートを指定する必要があります。

参考情報

Docker へデプロイする MSBuild タスク


サブページ
Created: 22/12/15 21:20 by Admin Last update: 22/12/19 17:44 by Admin
カテゴリ
Powered by GXwiki 3.0