本トピックでは、Enterprise Developer ベース イメージの Docker デモンストレーションの Dockerfile で使用されるコマンドについて詳しく説明します。Dockerfile 全体をリストし、Dockerfile に含まれる各コマンドの説明をその後の表にまとめてあります。Dockerfile のリストに示してある行番号は、読みやすくするために追加したものです。付属の Dockerfile には記載されていません。
001 # Copyright (C) Micro Focus 2018. All rights reserved. 002 003 FROM rhel7/rhel:latest 004 005 # PRODUCT_VERSION is product version associated with this Dockerfile 006 # ACCEPTEULA is the build-arg name for the acceptance of the end user license agreement 007 # SETUP_EXE is the build-arg name name of installer to used 008 # COBSRV_LOC is the build-arg name for the installation location 009 # MFLICFILE is the build-arg name for the license filename 010 ARG PRODUCT_VERSION=4.0.00 011 ARG ACCEPTEULA 012 ARG SETUP_EXE=setup_entdev_for_docker_4.0_redhat_x64 013 ARG LOGFILE=EnterpriseDeveloper4.0.log 014 ARG MFLICFILE 015 ARG ESADM_UID=500 016 ARG ESADM_GID=500 017 ARG ESADM_USER=edadm 018 ARG ESADM_SHELL=/bin/bash 019 020 LABEL vendor="Micro Focus" \ 021 com.microfocus.name="Enterprise Developer" \ 022 com.microfocus.version="$PRODUCT_VERSION" \ 023 com.microfocus.eula.url="https://supportline.microfocus.com/licensing/agreements.aspx" \ 024 com.microfocus.is-base-image="true" 025 026 ENV MFPRODBASE=/opt/microfocus/EnterpriseDeveloper 027 ENV MFLICBASE=/var/microfocuslicensing 028 029 030 # install ed, pax and glibc-devel.x86_64 as these are a pre-req for the installer 031 # note: disablerepo is used to avoid "HTTPS Error 403 - Forbidden" error 032 RUN yum -y --disablerepo=rhel-7-server-rt-beta-rpms install ed pax gcc gcc-c++.x86_64 gdb glibc-devel.x86_64 make file 033 034 # copy the installer from the local machine to the container 035 COPY ${SETUP_EXE} /tmp/ 036 037 # Create user esadm 038 RUN groupadd -f -g $ESADM_GID $ESADM_USER && \ 039 useradd -u $ESADM_UID -g $ESADM_GID -m -s $ESADM_SHELL $ESADM_USER 040 041 # ensure the setup exe has execute permissions and execute the setup 042 RUN chmod +x ./tmp/${SETUP_EXE} && \ 043 (/tmp/${SETUP_EXE} -${ACCEPTEULA} -ESadminID=$ESADM_USER || (echo ${LOGFILE} contains && touch ${LOGFILE} && cat ${LOGFILE} && exit 1)) && \ 044 rm -f /tmp/${SETUP_EXE} && \ 045 echo "$MFPRODBASE/lib" >>/etc/ld.so.conf && \ 046 ldconfig 047 048 # install a license and remove the license file 049 COPY ${MFLICFILE} /tmp/ 050 RUN cd /tmp && $MFLICBASE/bin/MFLicenseAdmin -install "${MFLICFILE}" && rm -f "${MFLICFILE}" 051 052 # COPY cobsetenv_login to the bin 053 COPY cobsetenv_login /root/bin/ 054 # 055 # clean up for containers that use -network:host 056 # 057 RUN $MFLICBASE/bin/clean_guid_file
この Dockerfile の各行のコマンドは次のとおりです。