7.3. Dockerfile の要件
イメージビルドプロセスの一環として、ビルドサービスはビルドイメージをスキャンし、Red Hat の基準に適合していることを確認します。プロジェクトに含める Dockerfile のガイドラインを以下に示します。
- ベースイメージは Red Hat のイメージである必要があります。Ubuntu、Debian、CentOS をベースにしたイメージは、スキャナーを通過しません。
必須のラベルを設定する必要があります。
-
name
-
maintainer
-
vendor
-
version
-
release
-
summary
-
-
イメージ内に、テキストファイル形式のソフトウェアライセンスを含める必要があります。ソフトウェアライセンスは、プロジェクトのルート下の
licenses
ディレクトリーに追加します。 -
root
ユーザーではないユーザーを設定する必要があります。
スキャンに必要な情報を、以下の Dockerfile の例に示します。
FROM registry.redhat.io/rhosp13/openstack-cinder-volume MAINTAINER VenderX Systems Engineering <maintainer@vendorX.com> ###Required Labels LABEL name="rhosp13/openstack-cinder-volume-vendorx-plugin" \ maintainer="maintainer@vendorX.com" \ vendor="VendorX" \ version="3.7" \ release="1" \ summary="Red Hat OpenStack Platform 13.0 cinder-volume VendorX PluginY" \ description="Red Hat OpenStack Platform 13.0 cinder-volume VendorX PluginY" USER root ###Adding package ###repo exmple COPY vendorX.repo /etc/yum.repos.d/vendorX.repo ###adding package with curl RUN curl -L -o /verdorX-plugin.rpm http://vendorX.com/vendorX-plugin.rpm ###adding local package COPY verdorX-plugin.rpm / # Enable a repo to install a package RUN yum clean all RUN yum-config-manager --enable rhel-7-server-openstack-13-rpms RUN yum install -y vendorX-plugin RUN yum-config-manager --disable rhel-7-server-openstack-13-rpms # Add required license as text file in Liceses directory (GPL, MIT, APACHE, Partner End User Agreement, etc) RUN mkdir /licenses COPY licensing.txt /licenses USER cinder