From 1421f7f2000bf462e757cf1fdbd0c6a8883ed309 Mon Sep 17 00:00:00 2001 From: Jonas Matser Date: Thu, 30 Aug 2018 21:57:26 +0200 Subject: [PATCH 1/8] Use ADD to extract zip instead of separate step in new layer --- OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile index cdcd3addc0..37c1a3baaa 100644 --- a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile +++ b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile @@ -56,7 +56,7 @@ ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ # Copy packages # ------------- -COPY $FMW_PKG install.file oraInst.loc /u01/ +ADD $FMW_PKG install.file oraInst.loc /u01/ RUN chown oracle:oracle -R /u01 && \ chmod +xr $SCRIPT_FILE && \ yum install -y libaio && \ @@ -70,7 +70,7 @@ VOLUME $VOLUME_DIR # Install # ------------------------------------------------------------ USER oracle -RUN cd /u01 && $JAVA_HOME/bin/jar xf /u01/$FMW_PKG && cd - && \ +RUN cd /u01 && cd - && \ $JAVA_HOME/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME INSTALL_TYPE="WebLogic Server" && \ rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/oraInst.loc /u01/install.file From 6ce7eba0928e9460b34a5eb8aaa9e4ed9ab19bc4 Mon Sep 17 00:00:00 2001 From: Jonas Matser Date: Thu, 30 Aug 2018 22:15:55 +0200 Subject: [PATCH 2/8] Don't chown -R where not needed --- OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile index 37c1a3baaa..4ad6cd2954 100644 --- a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile +++ b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile @@ -40,6 +40,7 @@ ENV ORACLE_HOME=/u01/oracle \ # Setup subdirectory for FMW install package and container-scripts # ----------------------------------------------------------------- RUN mkdir -p /u01 && \ + chown oracle:oracle /u01 && \ chmod a+xr /u01 && \ useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \ mkdir -p /u01/oracle/container-scripts @@ -56,9 +57,8 @@ ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ # Copy packages # ------------- -ADD $FMW_PKG install.file oraInst.loc /u01/ -RUN chown oracle:oracle -R /u01 && \ - chmod +xr $SCRIPT_FILE && \ +ADD --chown=oracle:oracle $FMW_PKG install.file oraInst.loc /u01/ +RUN chmod +xr $SCRIPT_FILE && \ yum install -y libaio && \ rm -rf /var/cache/yum && \ mkdir -p $VOLUME_DIR && \ @@ -72,7 +72,7 @@ VOLUME $VOLUME_DIR USER oracle RUN cd /u01 && cd - && \ $JAVA_HOME/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME INSTALL_TYPE="WebLogic Server" && \ - rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/oraInst.loc /u01/install.file + rm /u01/$FMW_JAR /u01/oraInst.loc /u01/install.file WORKDIR ${ORACLE_HOME} From 132f722560eb95b4dadbc9819bcbca01f7d694be Mon Sep 17 00:00:00 2001 From: Jonas Matser Date: Thu, 30 Aug 2018 22:18:07 +0200 Subject: [PATCH 3/8] Remove extra layer for user etc --- .../dockerfiles/12.2.1.3/Dockerfile | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile index 4ad6cd2954..33cfddecb8 100644 --- a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile +++ b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile @@ -35,17 +35,6 @@ ENV ORACLE_HOME=/u01/oracle \ VOLUME_DIR=/u01/oracle/user_projects \ PATH=$PATH:/usr/java/default/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:/u01/oracle/container-scripts - -#USER root -# Setup subdirectory for FMW install package and container-scripts -# ----------------------------------------------------------------- -RUN mkdir -p /u01 && \ - chown oracle:oracle /u01 && \ - chmod a+xr /u01 && \ - useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \ - mkdir -p /u01/oracle/container-scripts - - # Copy packages and scripts # ------------- COPY container-scripts/* /u01/oracle/container-scripts/ @@ -58,7 +47,10 @@ ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ # Copy packages # ------------- ADD --chown=oracle:oracle $FMW_PKG install.file oraInst.loc /u01/ -RUN chmod +xr $SCRIPT_FILE && \ +RUN chmod a+xr /u01 && \ + useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \ + mkdir -p /u01/oracle/container-scripts && \ + chmod +xr $SCRIPT_FILE && \ yum install -y libaio && \ rm -rf /var/cache/yum && \ mkdir -p $VOLUME_DIR && \ From 4ec3e1d3b52d000d4878e1c1f629e9f846f67b8d Mon Sep 17 00:00:00 2001 From: Jonas Matser Date: Thu, 30 Aug 2018 22:19:51 +0200 Subject: [PATCH 4/8] Remove extra layer from separate COPY --- .../dockerfiles/12.2.1.3/Dockerfile | 15 +++------------ .../container-scripts/createInfraDomain.py | 0 .../container-scripts/createOrStartInfraDomain.sh | 0 .../container-scripts/startManagedServer.sh | 0 .../container-scripts/update_listenaddress.py | 0 5 files changed, 3 insertions(+), 12 deletions(-) rename OracleFMWInfrastructure/dockerfiles/12.2.1.3/{ => oracle}/container-scripts/createInfraDomain.py (100%) rename OracleFMWInfrastructure/dockerfiles/12.2.1.3/{ => oracle}/container-scripts/createOrStartInfraDomain.sh (100%) rename OracleFMWInfrastructure/dockerfiles/12.2.1.3/{ => oracle}/container-scripts/startManagedServer.sh (100%) rename OracleFMWInfrastructure/dockerfiles/12.2.1.3/{ => oracle}/container-scripts/update_listenaddress.py (100%) diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile index 33cfddecb8..dbcb34be8d 100644 --- a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile +++ b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile @@ -24,7 +24,6 @@ FROM oracle/serverjre:8 # ---------- MAINTAINER Monica Riccelli - # Common environment variables required for this build # ---------------------------------------------------- ENV ORACLE_HOME=/u01/oracle \ @@ -33,20 +32,13 @@ ENV ORACLE_HOME=/u01/oracle \ DOMAIN_NAME="${DOMAIN_NAME:-InfraDomain}" \ DOMAIN_HOME=/u01/oracle/user_projects/domains/${DOMAIN_NAME:-InfraDomain} \ VOLUME_DIR=/u01/oracle/user_projects \ - PATH=$PATH:/usr/java/default/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:/u01/oracle/container-scripts - -# Copy packages and scripts -# ------------- -COPY container-scripts/* /u01/oracle/container-scripts/ - -# Environment variables required for this build (do NOT change) -# ------------------------------------------------------------- -ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ + PATH=$PATH:/usr/java/default/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:/u01/oracle/container-scripts \ + FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ FMW_JAR=fmw_12.2.1.3.0_infrastructure.jar # Copy packages # ------------- -ADD --chown=oracle:oracle $FMW_PKG install.file oraInst.loc /u01/ +ADD --chown=oracle:oracle $FMW_PKG install.file oraInst.loc oracle /u01/ RUN chmod a+xr /u01 && \ useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \ mkdir -p /u01/oracle/container-scripts && \ @@ -58,7 +50,6 @@ RUN chmod a+xr /u01 && \ VOLUME $VOLUME_DIR - # Install # ------------------------------------------------------------ USER oracle diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/createInfraDomain.py b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/createInfraDomain.py similarity index 100% rename from OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/createInfraDomain.py rename to OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/createInfraDomain.py diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/createOrStartInfraDomain.sh b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/createOrStartInfraDomain.sh similarity index 100% rename from OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/createOrStartInfraDomain.sh rename to OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/createOrStartInfraDomain.sh diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/startManagedServer.sh b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/startManagedServer.sh similarity index 100% rename from OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/startManagedServer.sh rename to OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/startManagedServer.sh diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/update_listenaddress.py b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/update_listenaddress.py similarity index 100% rename from OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/update_listenaddress.py rename to OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/update_listenaddress.py From 5a36286b47dd4baabf644009065e6ad593445c8b Mon Sep 17 00:00:00 2001 From: Jonas Matser Date: Thu, 30 Aug 2018 23:16:50 +0200 Subject: [PATCH 5/8] Different approach --- .../dockerfiles/12.2.1.3/Dockerfile | 36 +++++++++++++++---- .../container-scripts/createInfraDomain.py | 0 .../createOrStartInfraDomain.sh | 0 .../container-scripts/startManagedServer.sh | 0 .../container-scripts/update_listenaddress.py | 0 5 files changed, 29 insertions(+), 7 deletions(-) rename OracleFMWInfrastructure/dockerfiles/12.2.1.3/{oracle => }/container-scripts/createInfraDomain.py (100%) rename OracleFMWInfrastructure/dockerfiles/12.2.1.3/{oracle => }/container-scripts/createOrStartInfraDomain.sh (100%) rename OracleFMWInfrastructure/dockerfiles/12.2.1.3/{oracle => }/container-scripts/startManagedServer.sh (100%) rename OracleFMWInfrastructure/dockerfiles/12.2.1.3/{oracle => }/container-scripts/update_listenaddress.py (100%) diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile index dbcb34be8d..a17e16356c 100644 --- a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile +++ b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile @@ -1,3 +1,12 @@ +FROM oracle/serverjre:8 + +ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ + FMW_JAR=fmw_12.2.1.3.0_infrastructure.jar + +COPY $FMW_PKG / + +RUN $JAVA_HOME/bin/jar xf /$FMW_PKG + #Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved. # # Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl. @@ -32,17 +41,30 @@ ENV ORACLE_HOME=/u01/oracle \ DOMAIN_NAME="${DOMAIN_NAME:-InfraDomain}" \ DOMAIN_HOME=/u01/oracle/user_projects/domains/${DOMAIN_NAME:-InfraDomain} \ VOLUME_DIR=/u01/oracle/user_projects \ - PATH=$PATH:/usr/java/default/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:/u01/oracle/container-scripts \ - FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ + PATH=$PATH:/usr/java/default/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:/u01/oracle/container-scripts + +#USER root +# Setup subdirectory for FMW install package and container-scripts +# ----------------------------------------------------------------- +RUN mkdir -p /u01 && \ + chmod a+xr /u01 && \ + useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \ + mkdir -p /u01/oracle/container-scripts + +# Copy packages and scripts +# ------------- +COPY container-scripts/* /u01/oracle/container-scripts/ + +# Environment variables required for this build (do NOT change) +# ------------------------------------------------------------- +ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ FMW_JAR=fmw_12.2.1.3.0_infrastructure.jar # Copy packages # ------------- -ADD --chown=oracle:oracle $FMW_PKG install.file oraInst.loc oracle /u01/ -RUN chmod a+xr /u01 && \ - useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \ - mkdir -p /u01/oracle/container-scripts && \ - chmod +xr $SCRIPT_FILE && \ +COPY --from=0 --chown=oracle:oracle /$FMW_JAR /u01/ +COPY --chown=oracle:oracle install.file oraInst.loc /u01/ +RUN chmod +xr $SCRIPT_FILE && \ yum install -y libaio && \ rm -rf /var/cache/yum && \ mkdir -p $VOLUME_DIR && \ diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/createInfraDomain.py b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/createInfraDomain.py similarity index 100% rename from OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/createInfraDomain.py rename to OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/createInfraDomain.py diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/createOrStartInfraDomain.sh b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/createOrStartInfraDomain.sh similarity index 100% rename from OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/createOrStartInfraDomain.sh rename to OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/createOrStartInfraDomain.sh diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/startManagedServer.sh b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/startManagedServer.sh similarity index 100% rename from OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/startManagedServer.sh rename to OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/startManagedServer.sh diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/update_listenaddress.py b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/update_listenaddress.py similarity index 100% rename from OracleFMWInfrastructure/dockerfiles/12.2.1.3/oracle/container-scripts/update_listenaddress.py rename to OracleFMWInfrastructure/dockerfiles/12.2.1.3/container-scripts/update_listenaddress.py From a19f2523dfd9663679b529de29a2202786a85bfe Mon Sep 17 00:00:00 2001 From: Jonas Matser Date: Fri, 31 Aug 2018 00:08:10 +0200 Subject: [PATCH 6/8] Add missing chown --- OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile index a17e16356c..8feb020666 100644 --- a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile +++ b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile @@ -49,6 +49,7 @@ ENV ORACLE_HOME=/u01/oracle \ RUN mkdir -p /u01 && \ chmod a+xr /u01 && \ useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \ + chown oracle:oracle /u01 && \ mkdir -p /u01/oracle/container-scripts # Copy packages and scripts From e3570c2836e90ae6ca5a4813580e61a8b6feea4a Mon Sep 17 00:00:00 2001 From: Jonas Matser Date: Mon, 3 Sep 2018 10:41:18 +0200 Subject: [PATCH 7/8] Try again with add --- .../dockerfiles/12.2.1.3/Dockerfile | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile index 8feb020666..08fad44679 100644 --- a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile +++ b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile @@ -1,12 +1,3 @@ -FROM oracle/serverjre:8 - -ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ - FMW_JAR=fmw_12.2.1.3.0_infrastructure.jar - -COPY $FMW_PKG / - -RUN $JAVA_HOME/bin/jar xf /$FMW_PKG - #Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved. # # Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl. @@ -63,7 +54,7 @@ ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ # Copy packages # ------------- -COPY --from=0 --chown=oracle:oracle /$FMW_JAR /u01/ +ADD --chown=oracle:oracle $FMW_PKG /u01/ COPY --chown=oracle:oracle install.file oraInst.loc /u01/ RUN chmod +xr $SCRIPT_FILE && \ yum install -y libaio && \ @@ -76,8 +67,7 @@ VOLUME $VOLUME_DIR # Install # ------------------------------------------------------------ USER oracle -RUN cd /u01 && cd - && \ - $JAVA_HOME/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME INSTALL_TYPE="WebLogic Server" && \ +RUN $JAVA_HOME/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME INSTALL_TYPE="WebLogic Server" && \ rm /u01/$FMW_JAR /u01/oraInst.loc /u01/install.file WORKDIR ${ORACLE_HOME} From 9adfeaae2f871ae4bc037a0afa70d7a2bacd9bca Mon Sep 17 00:00:00 2001 From: Jonas Matser Date: Mon, 3 Sep 2018 10:55:03 +0200 Subject: [PATCH 8/8] Keep separate container for unzip --- .../dockerfiles/12.2.1.3/Dockerfile | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile index 08fad44679..afbc82d1bc 100644 --- a/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile +++ b/OracleFMWInfrastructure/dockerfiles/12.2.1.3/Dockerfile @@ -1,3 +1,12 @@ +FROM oracle/serverjre:8 + +ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ + FMW_JAR=fmw_12.2.1.3.0_infrastructure.jar + +COPY $FMW_PKG / + +RUN $JAVA_HOME/bin/jar xf /$FMW_PKG + #Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved. # # Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl. @@ -54,7 +63,7 @@ ENV FMW_PKG=fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip \ # Copy packages # ------------- -ADD --chown=oracle:oracle $FMW_PKG /u01/ +COPY --from=0 --chown=oracle:oracle /$FMW_JAR /u01/ COPY --chown=oracle:oracle install.file oraInst.loc /u01/ RUN chmod +xr $SCRIPT_FILE && \ yum install -y libaio && \