オプション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 pruneTimesTenコンテナ・イメージを正常に作成しました。イメージ・レジストリにプッシュされます。「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 pruneTimesTenコンテナ・イメージを正常に作成しました。イメージ・レジストリにプッシュされます。「TimesTen演算子のデプロイについて」に進み、TimesTenオペレータをデプロイしてください。