This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第6章 Buildah によるカスタムイメージビルド
OpenShift Container Platform 4.1 では、Docker ソケットはホストノードに表示されません。これは、カスタムビルドの mount docker socket オプションがカスタムビルドイメージ内で使用できる Docker ソケットを提供しない可能性がゼロではないことを意味します。
イメージのビルドおよびプッシュにこの機能を必要とする場合、Buildah ツールをカスタムビルドイメージに追加し、これを使用してカスタムビルドロジック内でイメージをビルドし、プッシュします。以下の例は、Buildah でカスタムビルドを実行する方法を示しています。
カスタムビルドストラテジーを使用するためには、デフォルトで標準ユーザーが持たないパーミッションが必要です。このパーミッションはユーザーがクラスターで実行される特権付きコンテナー内で任意のコードを実行することを許可します。このレベルのアクセスを使用するとクラスターが危険にさらされる可能性があるため、このアクセスはクラスターで管理者権限を持つ信頼されたユーザーのみに付与される必要があります。
前提条件
- カスタムビルドパーミッションを付与する方法について確認してください。
6.1. カスタムビルドアーティファクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
カスタムビルドイメージとして使用する必要のあるイメージを作成する必要があります。
手順
空のディレクトリーからはじめ、以下の内容を含む
Dockerfile
という名前のファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 同じディレクトリーに、
Dockerfile.sample
という名前のファイルを作成します。このファイルはカスタムビルドイメージに組み込まれ、コンテンツビルドによって生成されるイメージを定義します。FROM docker.io/centos:7 RUN touch /tmp/built
FROM docker.io/centos:7 RUN touch /tmp/built
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 同じディレクトリーに、
build.sh
という名前のファイルを作成します。このファイルには、カスタムビルドの実行時に実行されるロジックが含まれます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow