注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

コンテナトランスフォーム

このページは、コンテナ化されたインフラストラクチャやコンテナイメージなどの概念に関する実務知識を前提としています。これらのトピックに詳しくない場合は、Docker の概要ドキュメント ↗を確認することを推奨します。

Foundry は、プラットフォームにプッシュされたコンテナと次の2つの方法で連携します。

  1. トランスフォームのサイドカーデコレーターを使用します。
  2. コンテナを基盤とするモデルアセットを構築して使用します。

どちらのユースケースでも、最初のステップは、以下に記載するイメージ要件に従って、Foundry 内でホストされている Docker レジストリにイメージをプッシュすることです。

イメージ要件

  1. イメージの userID が数値であること。
  • Dockerfile 内で定義する userID は数値である必要があり、「0」は使用できません。Foundry では、コンテナ内で root ユーザーとしてコマンドを実行することは許可されていません。「0」は一部のシステムでゼロとして解釈され、数値以外の ID は root として機能するように設定できるためです。
  • 独自のコンテナを使用するトランスフォームでは、userID は必ず「5001」である必要があります。
  1. イメージが linux/amd64 プラットフォーム向けにビルドされていること。
  • Foundry は、このプラットフォーム向けにビルドされたコンテナの実行のみをサポートします。Docker のデフォルトのプラットフォームは linux なので、プラットフォームを明示的に設定するには、Docker のビルドコマンド ↗に --platform linux/amd64 を追加します。
  1. イメージが digest または latest 以外のタグを指定してプッシュされていること。
  • 実行する Docker のプッシュコマンドでは、イメージのダイジェストを指定するか、latest 以外のタグを使用する必要があります。任意のイメージが実際に最新であることを保証する仕組みがないため、Foundry は latest タグが付いたイメージを実行しません。
  1. イメージレイヤーの最大サイズが約10 GB 未満であること。
  • 各レイヤーのサイズを約10 GB 未満にすることを強く推奨します。ユースケースでより大きなレイヤーサイズが必要な場合は、Palantir の担当者にお問い合わせください。
  1. 公開するポートがすべて1024から65535の範囲内であること。
  • 0から1023のポートはウェルノウンポートであり、root 用に予約されています。Foundry では、コンテナ内で root ユーザーとしてコマンドを実行することは許可されていません。そのため、この範囲内で指定されたポートは、Foundry 内でイメージを起動したときに利用できません。
  1. [任意] イメージでテレメトリーが有効になっていること。
  • コンテナからのテレメトリーログ記録を有効にするには、次の要件を満たす必要があります。
    • イメージの /bin/sh にシェルの実行可能ファイルが存在する必要があります。
    • イメージがシェルコマンドの set と tee をサポートしている必要があります。