本トピックには、Enterprise Developer ベース イメージの Docker デモンストレーションの Dockerfile.nojava ファイルのリストおよび説明が含まれています。Dockerfile 全体をリストし、Dockerfile に含まれる各コマンドの説明をその後の表にまとめてあります。Dockerfile のリストに示してある行番号は、読みやすくするために追加したものです。付属の Dockerfile には記載されていません。
001 # Copyright (C) Micro Focus 2018. All rights reserved. 002 003 ARG BASE_SUFFIX= 004 FROM microsoft/dotnet-framework${BASE_SUFFIX} 005 006 # PRODUCT_VERSION is product version associated with this Dockerfile 007 # MFLICFILE is the build-arg for the license filename 008 # ACCEPT_CONTAINER_EULA is the build-arg for the accepting the end user license argument 009 # SETUP_EXE is the build-arg name for installer exe to be used 010 # TOOLS_LOC is build-arg name for installation location of the tools 011 ARG PRODUCT_VERSION=a.b.cc 012 ARG MFLICFILE 013 ARG ACCEPT_CONTAINER_EULA=no 014 ARG SETUP_EXE=edbt_40.exe 015 ARG TOOLS_LOC=c:\\EDTools 016 ARG TMP_INST_DIR=c:\\ed40tmp 017 018 LABEL vendor="Micro Focus" \ 019 com.microfocus.name="Enterprise Developer" \ 020 com.microfocus.version="$PRODUCT_VERSION" \ 021 com.microfocus.eula.url="https://supportline.microfocus.com/licensing/agreements.aspx" \ 022 com.microfocus.is-base-image="true" \ 023 024 # transfer build arguments to environment vars 025 ENV TOOLS_LOC=${TOOLS_LOC} \ 026 RMT_DIR="C:\\Program Files (x86)\\Common Files\\SafeNet Sentinel\\Sentinel RMS License Manager\\WinNT" 027 028 # Use cmd.exe, the microsoft/dotnet-framework-build changes this to powershell, so we need to reset 029 SHELL ["cmd", "/S", "/C"] 030 031 # Copy the setup .exe and license to the image 032 COPY ${SETUP_EXE} "${TMP_INST_DIR}\\" 033 COPY ${MFLICFILE} "${TOOLS_LOC}\\" 034 035 # Do the actual installation 036 RUN set TMP_INST_DIR=${TMP_INST_DIR} && \ 037 set SETUP_EXE=${SETUP_EXE} && \ 038 set ACCEPT_CONTAINER_EULA=${ACCEPT_CONTAINER_EULA} && \ 039 cd %TMP_INST_DIR% && start "" /wait %SETUP_EXE% /q "InstallFolder=%TOOLS_LOC%" /l log.txt accepteula=%ACCEPT_CONTAINER_EULA% 040 041 # Check log.txt 042 RUN cd %TMP_INST_DIR% && \ 043 findstr /ic:"Exit Code: 0x0" log.txt || (echo "Install failed - error messages in log.txt" && findstr /ic:"error" log.txt && findstr /ic:"Exit Code:" log.txt && exit 1) 044 045 # License the image 046 RUN set TOOLS_LOC=${TOOLS_LOC} && \ 047 set MFLICFILE=${MFLICFILE} && \ 048 cd %TOOLS_LOC% && \ 049 "%RMT_DIR%\\MFLicenseAdmin.exe" -install %MFLICFILE% 050 051 # Cleaup directory 052 RUN set TMP_INST_DIR=${TMP_INST_DIR} && \ 053 cd \ && rmdir /S /Q %TMP_INST_DIR% 054 055 # set the default directory to tools directory 056 WORKDIR "${TOOLS_LOC}"
この Dockerfile の各行のコマンドは次のとおりです。