7.3. Dockerfile の要件
イメージビルドプロセスの一環として、ビルドサービスはビルドイメージをスキャンし、Red Hat の基準に適合していることを確認します。プロジェクトに含める Dockerfile のガイドラインを以下に示します。
- ベースイメージは、Red Hat イメージでなければなりません。Ubuntu、Debian、および CentOS をベースとして使用するイメージはすべて、スキャナーを渡しません。
必須のラベルを設定する必要があります。
-
name -
maintainer -
vendor -
version -
release -
summary
-
-
イメージ内に、テキストファイル形式のソフトウェアライセンスを含める必要があります。ソフトウェアライセンスは、プロジェクトのルート下の
ライセンスディレクトリーに追加します。 -
root以外のユーザーを設定する必要があります。
スキャンに必要な情報を、以下の Dockerfile の例に示します。
FROM registry.redhat.io/rhosp15-rhel8/openstack-cinder-volume
MAINTAINER VenderX Systems Engineering <maintainer@vendorX.com>
###Required Labels
LABEL name="rhosp15-rhel8/openstack-cinder-volume-vendorx-plugin" \
maintainer="maintainer@vendorX.com" \
vendor="VendorX" \
version="3.7" \
release="1" \
summary="Red Hat OpenStack Platform 15.0 cinder-volume VendorX PluginY" \
description="Red Hat OpenStack Platform 15.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 dnf clean all
RUN yum-config-manager --enable openstack-15-for-rhel-8-x86_64-rpms
RUN dnf install -y vendorX-plugin
RUN yum-config-manager --disable openstack-15-for-rhel-8-x86_64-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