9 Oracle Linuxコンテナ・イメージのタグ付け規則

Oracleでは、Oracle Linuxのコンテナ・イメージをタグ付けする際にいくつかの規則に従っています。ユーザーは、目的に合った最適なイメージが使用されるように、これらの規則に留意する必要があります。これにより、機能の不要な破損を回避し、イメージで最新のパッチが適用されたソフトウェアを引き続き使用できるようになります。

slimタグ

Oracleでは、各Oracle Linuxリリースの最小限の圧縮バージョンをリリースしています。これらのイメージには、コンテナ内で実行したり、追加パッケージのインストールを実行するのに十分なオペレーティング・システムが含まれています。これらのイメージは、ビルド内での一般的な使用と、スクリプト化されたインストールを使用する可能性が高い場合に推奨されるイメージです。このタグを使用するイメージは、最新の更新レベルで維持されます。

たとえば、Oracle Linux 7 slimイメージの最新バージョンを使用するには、7-slimタグを使用します。Oracle Linux 8 slimイメージの最新バージョンを使用するには、8-slimタグを使用します。

docker pull oraclelinux:7-slim               

FIPS準拠バージョンのイメージは、slim-fipsタグでタグ付けされます。これらのイメージには、準拠した暗号化パッケージ・バージョンと、コンテナFIPS準拠に必要な初期イメージ設定のほとんどが含まれています。これらのイメージを使用するには、ホスト・システムでFIPSモードを有効にする必要があります。

次のslim-fipsイメージを使用できます:

  • oraclelinux:7-slim-fips:

    • イメージのリリース時点における最新のFIPS準拠バージョンのOracle Linux 7暗号化パッケージがすでにインストールされています。
    • Oracle Linux 7.8セキュリティ検証リポジトリがイメージyum構成ファイルですでに有効になっているため、コンテナはFIPS準拠の暗号化パッケージ・バージョンを含むシステム更新を取得できます。
    • コンテナFIPSモードに必要なdracut-fipsパッケージがすでにインストールされています。
  • oraclelinux:8-slim-fips:

    • イメージのリリース時点における最新のFIPS準拠バージョンのOracle Linux 8暗号化パッケージがすでにインストールされています。
    • Oracle Linux 8.4セキュリティ検証リポジトリがイメージyum構成ファイルですでに有効になっているため、コンテナはFIPS準拠の暗号化パッケージ・バージョンを含むシステム更新を取得できます。
    • dockerのコンテナFIPSモードに必要な/etc/system-fipsファイルがすでに作成されています。
    • Oracle Linux 8 dockerコンテナでは、コンテナで/usr/share/crypto-policies/back-ends/FIPSから/etc/crypto-policies/back-endsにFIPS暗号化ポリシーをマウントする必要があることに注意してください。コンテナでのFIPSモードの有効化を参照してください。

一般的なOracle Linuxリリースのタグ

Oracle Linuxイメージは、リリース・レベルでタグ付けされ、常に最新の対応する更新レベルにマップされるように維持されます。slimイメージで提供されているバージョンより完全なオペレーティング・システムが必要な場合は、リリース・タグを使用して、そのOracle Linuxイメージの最新のイメージをプルしてください。

たとえば、Oracle Linux 8の最新の更新リリース・イメージを取得するには、8タグを使用します。

docker pull oraclelinux:8               

Oracle Linuxの更新レベルのタグ

Oracle Linuxイメージは、更新レベルでタグ付けされます。説明されているその他のタグは、Oracle Linuxイメージの最後または最新の更新レベルにマップされます。

注意:

Dockerfile内または任意のビルド内の更新レベル・タグは、特定の更新レベルを必要とする特定のユースケースがある場合を除き、直接使用しないでください。一般的なユースケースでは、Oracle Linuxの特定の更新レベルにのみ存在する問題や不具合の解決が試みられます。

更新レベル・タグを使用すると、パッチが適用されていないソフトウェアがコンテナで実行されるため、セキュリティの問題やソフトウェアの不具合にさらされる可能性があります。

更新レベル・タグでは、更新レベルを示すドット表記法が使用されます。たとえば、Oracle Linux 8.2は8.2タグを使用して示されます。

docker pull oraclelinux:8.2               

latestタグ

重要:

Oracleでは、Oracle Linuxイメージにこのタグを提供していません。かわりに、slimイメージまたはリリース・タグを使用してください。また、他の配布イメージまたはソフトウェア・イメージで作業する場合、ユーザーはこのタグに依存しないようにすることをお薦めします。

デフォルトを使用すると、重大な混乱を招くことがよくあり、エンド・ユーザーのビルド機能とスクリプト機能が頻繁に中断されます。このことを踏まえ、またイメージ・タグを使用する際のベスト・プラクティスを奨励するために、OracleではOracle Linuxイメージに対してlatestタグを提供していません。

Oracleがこの決定を下した理由は次のとおりで、このタグがなぜ提供されていないかを把握できます。

  • latestタグを使用すると、単純な更新レベルではなく、配布リリース間で重大なジャンプが発生する可能性があります。これは通常latestタグを選択するときにユーザーが意図するものではなく、タグをまったく指定しないことによってこのタグにフォールバックするツールによって状況が異なります。必要な機能はリリース間で大きく変化し、その結果、コマンド、オプション、構成および使用可能なソフトウェアが変わる可能性があります。

  • 特定のビルドに使用されていたlatestイメージを簡単に特定できる方法がないため、2つの最終ビルド・イメージを比較して違いを見つけるのは容易ではありません。また、変更の追跡に関するこの問題により、新しいビルドが失敗した場合に、正常に機能する既知のベース・イメージにロールバックすることも困難になります。

  • イメージへのlatestのタグ付けが自動で行われないため、latestとしてタグ付けされるイメージがまだ更新されない間に、より新しいイメージが使用できるようになる可能性があります。これにより、予期しない結果につながる可能性があります。

  • すべてのツールがlatestタグを同じように処理する保証はありません。latestとしてタグ付けされたイメージをアップストリーム・レジストリから常にプルするようにデフォルトで設定されているツールもあれば、古くなっていたとしてもlatestのタグが付けられてローカルに格納されているイメージにデフォルトで設定されているツールもあります。

この決定によって、イメージにタグが指定されていない場合にlatestタグにフォールバックする一部のツールでエラーが発生する可能性があります。たとえば:

docker pull docker.io/library/oraclelinux
Trying to pull docker.io/library/oraclelinux...
  manifest unknown: manifest unknown
Error: error pulling image "docker.io/library/oraclelinux": unable to pull docker.io/library/oraclelinux: 
unable to pull image: Error initializing source docker://oraclelinux:latest: Error reading manifest latest 
in docker.io/library/oraclelinux: manifest unknown: manifest unknown

使用するイメージに適切なタグを必ず指定してください。たとえば:

docker pull oraclelinux:8