Skip to content

Commit 4e95bec

Browse files
authored
Added ContaineriFle support for SOA on 14.1.2.0.0 (#2958)
1 parent 2ceb2f5 commit 4e95bec

20 files changed

+2157
-45
lines changed
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
#
2+
# Copyright (c) 2025, Oracle and/or its affiliates.
3+
#
4+
# Licensed under the Universal Permissive License v 1.0 as shown at
5+
# https://oss.oracle.com/licenses/upl
6+
#
7+
# ORACLE CONTAINERFILES PROJECT
8+
# --------------------------
9+
# This is the Containerfile for Oracle SOA Suite
10+
#
11+
# REQUIRED FILES TO BUILD THIS IMAGE
12+
# ----------------------------------
13+
# See soasuite.download file in the install directory
14+
# Also see soapatches.download file in the patches directory
15+
#
16+
# Pull base image
17+
# ---------------
18+
FROM oracle/fmw-infrastructure:14.1.2.0.0 as builder
19+
20+
#
21+
# Environment variables required for this build (do NOT change)
22+
# -------------------------------------------------------------
23+
USER root
24+
ENV FMW_JAR1=fmw_14.1.2.0.0_soa.jar \
25+
FMW_JAR2=fmw_14.1.2.0.0_osb.jar \
26+
FMW_JAR3=fmw_14.1.2.0.0_b2bhealthcare.jar \
27+
OPATCH_PATCH_DIR="${OPATCH_PATCH_DIR:-/u01/opatch_patch}"
28+
29+
#
30+
# Copy installers and patches for install
31+
# -------------------------------------------
32+
COPY $FMW_JAR1 $FMW_JAR2 $FMW_JAR3 /u01/
33+
RUN mkdir /u01/patches ${OPATCH_PATCH_DIR} && \
34+
chown oracle:root -R /u01
35+
COPY patches/* /u01/patches/
36+
COPY opatch_patch/* ${OPATCH_PATCH_DIR}/
37+
COPY container-scripts/* /u01/oracle/container-scripts/
38+
39+
WORKDIR /u01
40+
RUN chmod 755 ./*.jar && \
41+
chmod +xr /u01/oracle/container-scripts/*.*
42+
43+
WORKDIR /u01/oracle
44+
#
45+
# Copy files and packages for install
46+
# -----------------------------------
47+
USER oracle
48+
COPY install/* /u01/
49+
50+
WORKDIR /u01
51+
RUN "$JAVA_HOME/bin/java" -jar "$FMW_JAR1" -silent -responseFile /u01/soasuite.response -invPtrLoc /u01/oraInst.loc -jreLoc "$JAVA_HOME" -ignoreSysPrereqs -force -novalidation ORACLE_HOME="$ORACLE_HOME" && \
52+
"$JAVA_HOME/bin/java" -jar "$FMW_JAR2" -silent -responseFile /u01/osb.response -invPtrLoc /u01/oraInst.loc -jreLoc "$JAVA_HOME" -ignoreSysPrereqs -force -novalidation ORACLE_HOME="$ORACLE_HOME" INSTALL_TYPE="Service Bus" && \
53+
"$JAVA_HOME/bin/java" -jar "$FMW_JAR3" -silent -responseFile /u01/b2b.response -invPtrLoc /u01/oraInst.loc -jreLoc "$JAVA_HOME" -ignoreSysPrereqs -force -novalidation ORACLE_HOME="$ORACLE_HOME" INSTALL_TYPE="B2B" && \
54+
rm -fr /u01/*.jar /u01/*.response
55+
56+
#
57+
# Apply OPatch patch
58+
# ------------------
59+
#
60+
61+
WORKDIR ${OPATCH_PATCH_DIR}
62+
RUN opatchzip=`ls ${OPATCH_PATCH_DIR}/p*.zip 2>/dev/null`; \
63+
if [ ! -z "$opatchzip" ]; then \
64+
echo "Applying the below OPatch patch present in ${OPATCH_PATCH_DIR} directory."; \
65+
ls p*.zip; \
66+
echo ""; \
67+
echo "Extracting patch: ${opatchzip}"; \
68+
$JAVA_HOME/bin/jar xf ${opatchzip} ; \
69+
if ! $JAVA_HOME/bin/java -jar ${OPATCH_PATCH_DIR}/6880880/opatch_generic.jar -silent oracle_home=$ORACLE_HOME; then \
70+
echo "Applying patch to opatch Failed" ; \
71+
exit 1 ; \
72+
fi; \
73+
rm -rf ${OPATCH_PATCH_DIR}; \
74+
echo "OPatch patch applied successfully."; \
75+
#$ORACLE_HOME/OPatch/opatch version; \
76+
fi
77+
78+
#
79+
# Apply SOA Patches
80+
# -----------------
81+
82+
WORKDIR /u01/patches
83+
RUN export OPATCH_NO_FUSER=TRUE && patchzips=`ls /u01/patches/p*.zip 2>/dev/null`; \
84+
if [ ! -z "$patchzips" ]; then \
85+
echo "Below patches present in patches directory. Applying these patches:"; \
86+
ls p*.zip; \
87+
echo ""; \
88+
for filename in `ls p*.zip`; do echo "Extracting patch: ${filename}"; $JAVA_HOME/bin/jar xf ${filename}; done; \
89+
rm -f /u01/patches/p*.zip; \
90+
$ORACLE_HOME/OPatch/opatch napply -silent -oh $ORACLE_HOME -jre $JAVA_HOME -invPtrLoc /u01/oraInst.loc -phBaseDir /u01/patches; \
91+
$ORACLE_HOME/OPatch/opatch util cleanup -silent; \
92+
rm -rf /u01/patches/* /u01/oracle/cfgtoollogs/opatch/*; \
93+
echo "Patches applied in SOA oracle home are:"; \
94+
$ORACLE_HOME/OPatch/opatch lspatches; \
95+
# cd $ORACLE_HOME/OPatch; \
96+
# $ORACLE_HOME/OPatch/opatch lspatches; \
97+
else \
98+
echo "No patches present in patches directory. Skipping patch application."; \
99+
fi && \
100+
# Extract XEngine tar gz if present
101+
if [ -d "${ORACLE_HOME}/soa/soa/thirdparty/edifecs" ] && [ -f "$ORACLE_HOME/soa/soa/thirdparty/edifecs/XEngine_8_4_1_23.tar.gz" ]; then \
102+
tar -zxvf "$ORACLE_HOME/soa/soa/thirdparty/edifecs/XEngine_8_4_1_23.tar.gz" \
103+
-C "$ORACLE_HOME/soa/soa/thirdparty/edifecs"; \
104+
else \
105+
echo "No XEngine_8_4_1_23.tar.gz present in ${ORACLE_HOME}/soa/soa/thirdparty/edifecs directory. Skipping untar."; \
106+
fi && \
107+
# zip as few log files grow larger when patches are installed.
108+
if ls /u01/oracle/cfgtoollogs/opatch/*.log; then \
109+
gzip /u01/oracle/cfgtoollogs/opatch/*.log; \
110+
fi
111+
112+
WORKDIR /u01/oracle
113+
#
114+
# Rebuild from base image
115+
# -----------------------
116+
117+
FROM oracle/fmw-infrastructure:14.1.2.0.0
118+
119+
#
120+
# Label
121+
# ----------
122+
LABEL "provider"="Oracle"
123+
124+
#
125+
# Install the required packages
126+
# -----------------------------
127+
USER root
128+
ENV PATH=$PATH:/u01/oracle/container-scripts:/u01/oracle/oracle_common/modules/thirdparty/org.apache.ant/apache-ant/bin
129+
RUN microdnf install -y hostname && \
130+
microdnf clean all
131+
132+
COPY --from=builder --chown=oracle:root /u01 /u01
133+
134+
#
135+
# Define default command to start bash.
136+
#
137+
USER oracle
138+
HEALTHCHECK --start-period=5m --interval=1m CMD curl -k -s --fail `$HEALTH_SCRIPT_FILE` || exit 1
139+
WORKDIR $ORACLE_HOME
140+
CMD ["/u01/oracle/container-scripts/createDomainAndStart.sh"]
141+
142+
143+

0 commit comments

Comments
 (0)