7.3. Dockerfile 요구사항
이미지 빌드 프로세스의 일부로 빌드 서비스는 빌드된 이미지를 검사하여 Red Hat 표준을 준수하는지 확인합니다. 프로젝트에 포함할 dockerfile의 기준으로 다음 지침을 사용합니다.
- 기본 이미지는 Red Hat 이미지여야 합니다. Ubuntu, Debian 및 CentOS를 기본으로 사용하는 이미지는 스캐너를 통과하지 않습니다.
필요한 라벨을 구성해야 합니다.
-
name -
유지 관리자 -
vendor -
version -
릴리스 -
summary
-
-
소프트웨어 라이센스를 이미지 내에 텍스트 파일로 포함해야 합니다. 프로젝트 루트의
라이센스디렉터리에 소프트웨어 라이센스를 추가합니다. -
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