オプション2: TimesTenコンテナ・イメージを作成する
次の例では、TimesTenディストリビューションからTimesTenコンテナ・イメージを作成すると仮定しています。かわりに、Oracle Container Registryにある公式のTimesTenコンテナ・イメージを使用する場合は、「オプション1: 公式のTimesTenコンテナ・イメージを使用する」を参照してください。
このDockerfile内で使用されるベース・イメージはcontainer-registry.oracle.com/os/oraclelinux:8
です。Dockerfileは、TimesTenコンテナ・イメージの様々な属性をオーバーライドできる多数のARGをサポートしています。たとえば、デフォルトのtimesten
ユーザーおよびデフォルトのtimesten
グループを使用するのではなく、カスタムのTimesTenユーザーおよびTimesTenユーザー・グループを指定してTimesTenを実行できます。また、TimesTenコンテナ・イメージに埋め込むTimesTenリリースを指定することもできます。サポートされているDockerfileのARGについては、DockerfileのARGを参照してください。
TimesTenディストリビューションおよびTimesTenオペレータ・ディストリビューションの解凍
TimesTenディストリビューションおよびTimesTenオペレータ・ディストリビューションを解凍するには、次のステップを実行します。
TimesTenディストリビューションおよびTimesTenオペレータ・ディストリビューションが正常に解凍されました。
TimesTenディストリビューションのコピー
TimesTenコンテナ・イメージの作成に必要なファイルは、解凍されたTimesTenオペレータ・ディストリビューションで提供されます。この例では、解凍したTimesTenオペレータ・ディストリビューションが含まれているディレクトリはkube_files
です。「TimesTenディストリビューションおよびTimesTenオペレータ・ディストリビューションの解凍」を参照してください。
TimesTenコンテナ・イメージを作成するには、次の手順に従います:
kube_files/image
ディレクトリへのTimesTenディストリビューションのコピーと、イメージ・プル・シークレットの作成が完了しました。
作成方法の選択
DockerfileのARGで指定されたデフォルトを使用してTimesTenイメージを作成するか、DockerfileのARGで指定されたデフォルトをオーバーライドしてTimesTenコンテナ・イメージをカスタマイズするかを選択できます。
オプション2a: デフォルトを使用して作成する
次の例では、DockerfileのARGで指定されたデフォルトを使用してTimesTenコンテナ・イメージを作成することを前提としています。
ノート:
最終的なTimesTenコンテナ・イメージのサイズを減らすために、Dockerfileではマルチステージ・ビルドを使用します。これにより、ダングリング・イメージが残されたままになります。ダングリング・イメージを見つけるには、docker
コマンドと、dangling=true
の値を指定した-f
フィルタ・フラグを使用します。ダングリング・イメージを見つけたら、docker
image
prune
コマンドを使用して削除できます。たとえば、次のようになります。 docker images -f dangling=true
docker image prune
TimesTenコンテナ・イメージを正常に作成しました。イメージ・レジストリにプッシュされます。「TimesTen演算子のデプロイについて」に進み、TimesTenオペレータをデプロイしてください。
オプション2b: カスタマイズを使用して作成する
次の例では、DockerfileのARGで指定されたデフォルトをオーバーライドして、TimesTenコンテナ・イメージをカスタマイズすることを前提としています。そうではなく、これらのデフォルトを使用する場合は、「オプション2a: デフォルトを使用して作成する」を参照してください。
この例では、TimesTenコンテナ内のTimesTenを実行するカスタムTimesTenユーザーおよびカスタムTimesTenユーザー・グループを作成します。
ノート:
最終的なTimesTenコンテナ・イメージのサイズを減らすために、Dockerfileではマルチステージ・ビルドを使用します。これにより、ダングリング・イメージが残されたままになります。ダングリング・イメージを見つけるには、docker
コマンドと、dangling=true
の値を指定した-f
フィルタ・フラグを使用します。ダングリング・イメージを見つけたら、docker
image
prune
コマンドを使用して削除できます。たとえば、次のようになります。 docker images -f dangling=true
docker image prune
TimesTenコンテナ・イメージを正常に作成しました。イメージ・レジストリにプッシュされます。「TimesTen演算子のデプロイについて」に進み、TimesTenオペレータをデプロイしてください。