6.3.3. ビルドコンテキスト
Docker を使用してイメージをビルドする場合、ディレクトリーはビルドコンテキストになるように指定されます。これは手動ビルドとビルドトリガーの両方に当てはまります。Red Hat Quayによって実行されるビルドは、独自のマシンで docker build
を実行する場合と同じであるためです。
Red Hat Quay のビルドコンテキストは、常にビルドセットアップから指定される サブディレクトリー であり、指定がない場合は、ビルドソースのルートにフォールバックします。ビルドがトリガーされると、Red Hat Quay ビルドワーカーは git リポジトリーをワーカーマシンにクローンし、ビルドコンテキストを入力してビルドを実行します。
tar アーカイブをベースとするビルドの場合、ビルドワーカーはアーカイブを展開し、ビルドコンテキストを入力します。以下は例になります。
example ├── .git ├── Dockerfile ├── file └── subdir └── Dockerfile
上記の例は「example」という GitHub リポジトリーのディレクトリー構造を示しています。ビルドトリガーの設定にサブディレクトリーが指定されていない場合や、ビルドを手動で開始している場合に、ビルドは example ディレクトリーで動作します。
ビルドトリガーセットアップで subdir
がサブディレクトリーになるように指定されている場合、その中の Dockerfile のみがビルドに表示されます。これは、ビルドコンテキスト外にあるために Dockerfile で ADD
コマンドを使用して file
を追加できないことを意味します。
Docker Hub とは異なり、Dockerfile は Red Hat Quay のビルドコンテキストの一部です。そのため、これは .dockerignore
ファイルには表示されません。