Oracle Fusion Middleware/WebLogic Image Tool

2장. WebLogic Image Tool을 활용한 WebLogic Docker Image 만들기 - 응용

수상한 김토끼 2022. 8. 2. 13:21

안녕하세요.

'수상한 김토끼' 입니다.

 

Oracle의 WebLogic Image Tool을 활용하여 WebLogic Docker Image 만들기 응용 1번째입니다.

 

이 블로그 글은 미들웨어 경험이 없으신 분들도 쉽게 따라 하실 수 있도록 쉽게 작성하는 것이 목표입니다.

설명을 보고 진행하시다가 궁금하신 내용은 댓글로 문의하시면 가능한 범위 내에서 알려 드리도록 하겠습니다.


1. 최신 버전의 WebLogic Docker Image 만들기

앞장에서 WebLogic Image Tool의 공식 홈페이지에 나와 있는 quick start와 같이 12c버전의 WebLogic을 docker image로 만들어 보았습니다만 예제에 나와 있지 않은 최신버전의 docker image 생성도 가능합니다.

이번에는 14c 버전을 docker image로 만들어 보도록 하겠습니다. 

 

Docker image로 만들 WebLogic 14c 파일을 다운로드하여 줍니다.

https://www.oracle.com/middleware/technologies/weblogic-server-installers-downloads.html

WebLogic 14c Download

우선 'Generic'을 선택하여 다운로드 받아 서버에 업로드해 줍니다.

1
2
[root@middleware-works-centos8 tmp]# ls
fmw_14.1.1.0.0_wls.jar
cs

 

서버에 파일 준비가 완료되면 이전과 같이 cache에 등록 후 create 과정을 수행하면 되는데 한 가지 차이점이 있습니다.

바로 create 시에 '--version' 옵션을 주어야 하는 점인데요 정리하면 다음과 같습니다.

기존 Docker Image 생성방법: ./imagetool.sh create --tag wls:14.1.1.0.0 (에러발생)
변경 Docker Image 생성방법: ./imagetool.sh create --version=14.1.1.0.0 --tag wls:14.1.1.0.0 (정상동작)

WebLogic 14c의 경우 JDK는 8 버전과 11 버전을 사용할 수 있으니 이 부분은 필요에 따라 맞춰 주시면 되며 JDK11을 사용하기 위해서는 '--jdkVersion' 옵션을 추가해 주시면 됩니다. 정리하면 다음과 같습니다.

JDK 11 기반 Docker Image 생성방법: ./imagetool.sh create --version 14.1.1.0.0 --jdkVersion=11.0.9 --tag wls:14.1.1.0.0-jdk11

저는 JDK옵션은 주지 않고 기존의 8 버전으로 생성해 보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
[root@middleware-works-centos8 bin]# ./imagetool.sh cache addInstaller --type jdk --version 8u202 --path /home/opc/downloads/jdk-8u202-linux-x64.tar.gz
[INFO   ] Successfully added to cache. jdk_8u202=/home/opc/downloads/jdk-8u202-linux-x64.tar.gz
[root@middleware-works-centos8 bin]# ./imagetool.sh cache addInstaller --type wls --version 14.1.1.0.0 --path /home/opc/downloads/fmw_14.1.1.0.0_wls.jar
[INFO   ] Successfully added to cache. wls_14.1.1.0.0=/home/opc/downloads/fmw_14.1.1.0.0_wls.jar
[root@middleware-works-centos8 bin]# ./imagetool.sh cache listItems
Cache contents
cache.dir=/root/cache
wls_14.1.1.0.0=/home/opc/downloads/fmw_14.1.1.0.0_wls.jar
jdk_8u202=/home/opc/downloads/jdk-8u202-linux-x64.tar.gz
[root@middleware-works-centos8 bin]# imagetool create --version=14.1.1.0.0 --tag wls:14.1.1.0.0
bash: imagetool: command not found
[root@middleware-works-centos8 bin]# ./imagetool.sh create --version=14.1.1.0.0 --tag wls:14.1.1.0.0
[INFO   ] WebLogic Image Tool version 1.11.2
[INFO   ] Image Tool build ID: a8011412-1a45-42ff-be37-ad9689c57f17
[INFO   ] Temporary directory used for image build context: /root/wlsimgbuilder_temp5258994626323701230
[INFO   ] Copying /home/opc/downloads/jdk-8u202-linux-x64.tar.gz to build context folder.
[INFO   ] Using middleware installers (wls) version 14.1.1.0.0
[INFO   ] Copying /home/opc/downloads/fmw_14.1.1.0.0_wls.jar to build context folder.
[INFO   ] Starting build: docker build --no-cache --force-rm --tag wls:14.1.1.0.0 /root/wlsimgbuilder_temp5258994626323701230
Sending build context to Docker daemon  1.126GB
 
Step 1/27 : FROM ghcr.io/oracle/oraclelinux:8-slim as os_update
 ---> c7c0b3ae3077
Step 2/27 : LABEL com.oracle.weblogic.imagetool.buildid="a8011412-1a45-42ff-be37-ad9689c57f17"
 ---> Running in 5f6128ea0fd2
Removing intermediate container 5f6128ea0fd2
 ---> c1866a85050b
Step 3/27 : USER root
 ---> Running in bd748cb6610c
Removing intermediate container bd748cb6610c
 ---> 85845b87a4c0
Step 4/27 : RUN microdnf update     && microdnf install gzip tar unzip libaio jq findutils diffutils shadow-utils     && microdnf clean all
 ---> Running in b8ed8af10f9e
Downloading metadata...
Downloading metadata...
Nothing to do.
Package                          Repository            Size
Installing:
 diffutils-3.6-6.el8.x86_64      ol8_baseos_latest 369.3 kB
 findutils-1:4.6.0-20.el8.x86_64 ol8_baseos_latest 540.6 kB
 gzip-1.9-13.el8_5.x86_64        ol8_baseos_latest 170.7 kB
 jq-1.6-3.el8.x86_64             ol8_appstream     206.7 kB
 libaio-0.3.112-1.el8.x86_64     ol8_baseos_latest  33.4 kB
 oniguruma-6.8.2-2.el8.x86_64    ol8_appstream     191.8 kB
 tar-2:1.30-5.el8.x86_64         ol8_baseos_latest 857.9 kB
 unzip-6.0-46.el8.x86_64         ol8_baseos_latest 200.5 kB
Transaction Summary:
 Installing:        8 packages
 Reinstalling:      0 packages
 Upgrading:         0 packages
 Obsoleting:        0 packages
 Removing:          0 packages
 Downgrading:       0 packages
Downloading packages...
Running transaction test...
Installing: oniguruma;6.8.2-2.el8;x86_64;ol8_appstream
Installing: jq;1.6-3.el8;x86_64;ol8_appstream
Installing: unzip;6.0-46.el8;x86_64;ol8_baseos_latest
Installing: tar;2:1.30-5.el8;x86_64;ol8_baseos_latest
Installing: libaio;0.3.112-1.el8;x86_64;ol8_baseos_latest
Installing: gzip;1.9-13.el8_5;x86_64;ol8_baseos_latest
Installing: findutils;1:4.6.0-20.el8;x86_64;ol8_baseos_latest
Installing: diffutils;3.6-6.el8;x86_64;ol8_baseos_latest
Complete.
Complete.
Removing intermediate container b8ed8af10f9e
 ---> 06bd0968418f
Step 5/27 : RUN if [ -"$(getent group oracle)" ]; then groupadd oracle || exit 1 ; fi  && if [ -"$(getent group oracle)" ]; then groupadd oracle || exit 1 ; fi  && if [ -"$(getent passwd oracle)" ]; then useradd -g oracle oracle || exit 1fi  && mkdir -/u01  && chown oracle:oracle /u01  && chmod 775 /u01
 ---> Running in 3af8e95d8f65
Removing intermediate container 3af8e95d8f65
 ---> 8948bc7dad7d
Step 6/27 : FROM os_update as jdk_build
 ---> 8948bc7dad7d
Step 7/27 : LABEL com.oracle.weblogic.imagetool.buildid="a8011412-1a45-42ff-be37-ad9689c57f17"
 ---> Running in 9d72cd34cd62
Removing intermediate container 9d72cd34cd62
 ---> 6d0af4aca737
Step 8/27 : ENV JAVA_HOME=/u01/jdk
 ---> Running in 4562be1572fb
Removing intermediate container 4562be1572fb
 ---> 0163dd91ff56
Step 9/27 : COPY --chown=oracle:oracle jdk-8u202-linux-x64.tar.gz /tmp/imagetool/
 ---> c6aad6896702
Step 10/27 : USER oracle
 ---> Running in ecb2177c02a4
Removing intermediate container ecb2177c02a4
 ---> 1b444273c428
Step 11/27 : RUN tar xzf /tmp/imagetool/jdk-8u202-linux-x64.tar.gz -/u01 && $(test -/u01/jdk* && mv /u01/jdk* /u01/jdk || mv /u01/graal* /u01/jdk) && rm -rf /tmp/imagetool && rm -/u01/jdk/javafx-src.zip /u01/jdk/src.zip
 ---> Running in 9a500699cb2a
Removing intermediate container 9a500699cb2a
 ---> b5933b697f98
Step 12/27 : FROM os_update as wls_build
 ---> 8948bc7dad7d
Step 13/27 : LABEL com.oracle.weblogic.imagetool.buildid="a8011412-1a45-42ff-be37-ad9689c57f17"
 ---> Running in a33c5a52d749
Removing intermediate container a33c5a52d749
 ---> d3d105795e62
Step 14/27 : ENV JAVA_HOME=/u01/jdk ORACLE_HOME=/u01/oracle OPATCH_NO_FUSER=true
 ---> Running in 65a038398f3f
Removing intermediate container 65a038398f3f
 ---> 16b1c374c3e6
Step 15/27 : RUN mkdir -/u01/oracle && mkdir -/u01/oracle/oraInventory && chown oracle:oracle /u01/oracle/oraInventory && chown oracle:oracle /u01/oracle
 ---> Running in 97f5b8e7a008
Removing intermediate container 97f5b8e7a008
 ---> 092ed2dd7147
Step 16/27 : COPY --from=jdk_build --chown=oracle:oracle /u01/jdk /u01/jdk/
 ---> d7bfaef64ae9
Step 17/27 : COPY --chown=oracle:oracle fmw_14.1.1.0.0_wls.jar wls.rsp /tmp/imagetool/
 ---> 7019b28e251e
Step 18/27 : COPY --chown=oracle:oracle oraInst.loc /u01/oracle/
 ---> f966f74df6f1
Step 19/27 : USER oracle
 ---> Running in 54b722242ab0
Removing intermediate container 54b722242ab0
 ---> 7b20f875d070
Step 20/27 : RUN echo "INSTALLING MIDDLEWARE"     && echo "INSTALLING wls"     &&  /u01/jdk/bin/java -Xmx1024m -jar /tmp/imagetool/fmw_14.1.1.0.0_wls.jar -silent ORACLE_HOME=/u01/oracle     -responseFile /tmp/imagetool/wls.rsp -invPtrLoc /u01/oracle/oraInst.loc -ignoreSysPrereqs -force -novalidation   && test $? -eq 0 && chmod -R g+/u01/oracle || (grep -vh "NOTIFICATION" /tmp/OraInstall*/install*.log && exit 1)
 ---> Running in c2d7bd91b2d5
INSTALLING MIDDLEWARE
INSTALLING wls
Launcher log file is /tmp/OraInstall2022-08-02_04-16-45AM/launcher2022-08-02_04-16-45AM.log.
Extracting the installer . . . . . Done
Checking if CPU speed is above 300 MHz.   Actual 2545.214 MHz    Passed
Checking swap space: must be greater than 512 MB.   Actual 8191 MB    Passed
Checking if this platform requires a 64-bit JVM.   Actual 64    Passed (64-bit not required)
Checking temp space: must be greater than 300 MB.   Actual 11421 MB    Passed
Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2022-08-02_04-16-45AM
Log: /tmp/OraInstall2022-08-02_04-16-45AM/install2022-08-02_04-16-45AM.log
Setting ORACLE_HOME...
Copyright (c) 19962020, Oracle and/or its affiliates. All rights reserved.
Reading response file..
Skipping Software Updates
Validations are disabled for this session.
Verifying data
Copying Files
Percent Complete : 10
Percent Complete : 20
Percent Complete : 30
Percent Complete : 40
Percent Complete : 50
Percent Complete : 60
Percent Complete : 70
Percent Complete : 80
Percent Complete : 90
Percent Complete : 100
 
The installation of Oracle Fusion Middleware 14.1.1 WebLogic Server and Coherence 14.1.1.0.0 completed successfully.
Logs successfully copied to /u01/oracle/oraInventory/logs.
Removing intermediate container c2d7bd91b2d5
 ---> 6c4e408adfa5
Step 21/27 : FROM os_update as final_build
 ---> 8948bc7dad7d
Step 22/27 : ENV ORACLE_HOME=/u01/oracle     JAVA_HOME=/u01/jdk     PATH=${PATH}:/u01/jdk/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:/u01/oracle
 ---> Running in afdc81a67ea0
Removing intermediate container afdc81a67ea0
 ---> 5ed7e4eb7726
Step 23/27 : LABEL com.oracle.weblogic.imagetool.buildid="a8011412-1a45-42ff-be37-ad9689c57f17"
 ---> Running in b8823b907912
Removing intermediate container b8823b907912
 ---> 30e2ecbaf559
Step 24/27 : COPY --from=jdk_build --chown=oracle:oracle /u01/jdk /u01/jdk/
 ---> a7ec826ce1c8
Step 25/27 : COPY --from=wls_build --chown=oracle:oracle /u01/oracle /u01/oracle/
 ---> be4adaad0e89
Step 26/27 : USER oracle
 ---> Running in 0ab1581a7c4e
Removing intermediate container 0ab1581a7c4e
 ---> ca187b9ee452
Step 27/27 : WORKDIR /u01/oracle
 ---> Running in e1368b6aee4d
Removing intermediate container e1368b6aee4d
 ---> 033e6f70ff0f
Successfully built 033e6f70ff0f
Successfully tagged wls:14.1.1.0.0
[INFO   ] Build successful. Build time=328s. Image tag=wls:14.1.1.0.0
[root@middleware-works-centos8 bin]# docker image list
REPOSITORY                   TAG          IMAGE ID       CREATED         SIZE
wls                          14.1.1.0.0   033e6f70ff0f   4 minutes ago   1.39GB
wls                          12.2.1.3.0   d4374a78436c   16 hours ago    1.36GB
ghcr.io/oracle/oraclelinux   8-slim       c7c0b3ae3077   3 weeks ago     101MB
cs

기존에 생성되었던 12c 외에 14c버전 이미지도 정상적으로 생성된 것을 확인할 수 있습니다.


2. WebLogic Slim 버전 Docker Image 파일 생성

이번에는 Docker Image에 조금 더 적합한 WebLogic slim 버전 docker image를 생성해 보겠습니다.

 

WebLogic slim 버전은 Generic 또는 Fusion Middleware Infrastructure Installer보다 용량이 훨씬 작은 버전입니다.

예제나 클라이언트, Java DB 등이 필요 없는 대부분의 docker 운영환경에 적합한 버전으로 WebLogic 다운로드 페이지에서 slim항목을 선택하여 다운로드할 수 있습니다.

https://blogs.oracle.com/emeapartnerweblogic/post/oracle-weblogic-server-122140-slim-installer-by-dirk-nachbar

 

slim 버전을 다운로드하여 서버에 업로드해 줍니다.

1
2
[root@middleware-works-centos8 tmp]# ls
fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip
cs

 

파일이 준비 되었으니 14c 버전과 동일하게 docker image를 생성해 보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
[root@middleware-works-centos8 bin]# ./imagetool.sh create --version=14.1.1.0.0 --tag wls:14.1.1.0.0-slim
[INFO   ] WebLogic Image Tool version 1.11.2
[INFO   ] Image Tool build ID: 428e0984-3943-4db8-999f-2989ac47e8dc
[INFO   ] Temporary directory used for image build context: /root/wlsimgbuilder_temp1145655906668075385
[INFO   ] Copying /home/opc/downloads/jdk-8u202-linux-x64.tar.gz to build context folder.
[INFO   ] Using middleware installers (wls) version 14.1.1.0.0
[INFO   ] Copying /home/opc/downloads/fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip to build context folder.
[INFO   ] Starting build: docker build --no-cache --force-rm --tag wls:14.1.1.0.0-slim /root/wlsimgbuilder_temp1145655906668075385
Sending build context to Docker daemon  416.4MB
 
Step 1/27 : FROM ghcr.io/oracle/oraclelinux:8-slim as os_update
 ---> c7c0b3ae3077
Step 2/27 : LABEL com.oracle.weblogic.imagetool.buildid="428e0984-3943-4db8-999f-2989ac47e8dc"
 ---> Running in cb960902ee24
Removing intermediate container cb960902ee24
 ---> b205f0c20471
Step 3/27 : USER root
 ---> Running in 012ac2c13751
Removing intermediate container 012ac2c13751
 ---> a3898005c432
Step 4/27 : RUN microdnf update     && microdnf install gzip tar unzip libaio jq findutils diffutils shadow-utils     && microdnf clean all
 ---> Running in 4bf1fd37e482
Downloading metadata...
Downloading metadata...
Nothing to do.
Package                          Repository            Size
Installing:
 diffutils-3.6-6.el8.x86_64      ol8_baseos_latest 369.3 kB
 findutils-1:4.6.0-20.el8.x86_64 ol8_baseos_latest 540.6 kB
 gzip-1.9-13.el8_5.x86_64        ol8_baseos_latest 170.7 kB
 jq-1.6-3.el8.x86_64             ol8_appstream     206.7 kB
 libaio-0.3.112-1.el8.x86_64     ol8_baseos_latest  33.4 kB
 oniguruma-6.8.2-2.el8.x86_64    ol8_appstream     191.8 kB
 tar-2:1.30-5.el8.x86_64         ol8_baseos_latest 857.9 kB
 unzip-6.0-46.el8.x86_64         ol8_baseos_latest 200.5 kB
Transaction Summary:
 Installing:        8 packages
 Reinstalling:      0 packages
 Upgrading:         0 packages
 Obsoleting:        0 packages
 Removing:          0 packages
 Downgrading:       0 packages
Downloading packages...
Running transaction test...
Installing: oniguruma;6.8.2-2.el8;x86_64;ol8_appstream
Installing: jq;1.6-3.el8;x86_64;ol8_appstream
Installing: unzip;6.0-46.el8;x86_64;ol8_baseos_latest
Installing: tar;2:1.30-5.el8;x86_64;ol8_baseos_latest
Installing: libaio;0.3.112-1.el8;x86_64;ol8_baseos_latest
Installing: gzip;1.9-13.el8_5;x86_64;ol8_baseos_latest
Installing: findutils;1:4.6.0-20.el8;x86_64;ol8_baseos_latest
Installing: diffutils;3.6-6.el8;x86_64;ol8_baseos_latest
Complete.
Complete.
Removing intermediate container 4bf1fd37e482
 ---> b88000a6f8ac
Step 5/27 : RUN if [ -"$(getent group oracle)" ]; then groupadd oracle || exit 1 ; fi  && if [ -"$(getent group oracle)" ]; then groupadd oracle || exit 1 ; fi  && if [ -"$(getent passwd oracle)" ]; then useradd -g oracle oracle || exit 1fi  && mkdir -/u01  && chown oracle:oracle /u01  && chmod 775 /u01
 ---> Running in 865435968ece
Removing intermediate container 865435968ece
 ---> 0573a058a1f0
Step 6/27 : FROM os_update as jdk_build
 ---> 0573a058a1f0
Step 7/27 : LABEL com.oracle.weblogic.imagetool.buildid="428e0984-3943-4db8-999f-2989ac47e8dc"
 ---> Running in 9fce28114175
Removing intermediate container 9fce28114175
 ---> 1bcfd1e95ac8
Step 8/27 : ENV JAVA_HOME=/u01/jdk
 ---> Running in 4c13d4e5ac79
Removing intermediate container 4c13d4e5ac79
 ---> 6c0d54aba00d
Step 9/27 : COPY --chown=oracle:oracle jdk-8u202-linux-x64.tar.gz /tmp/imagetool/
 ---> 67bf868b7f91
Step 10/27 : USER oracle
 ---> Running in 9aa603532891
Removing intermediate container 9aa603532891
 ---> 1999d19aba79
Step 11/27 : RUN tar xzf /tmp/imagetool/jdk-8u202-linux-x64.tar.gz -/u01 && $(test -/u01/jdk* && mv /u01/jdk* /u01/jdk || mv /u01/graal* /u01/jdk) && rm -rf /tmp/imagetool && rm -/u01/jdk/javafx-src.zip /u01/jdk/src.zip
 ---> Running in 44c7e7cc9afe
Removing intermediate container 44c7e7cc9afe
 ---> 73c8f7b3b4d6
Step 12/27 : FROM os_update as wls_build
 ---> 0573a058a1f0
Step 13/27 : LABEL com.oracle.weblogic.imagetool.buildid="428e0984-3943-4db8-999f-2989ac47e8dc"
 ---> Running in cce3570961b9
Removing intermediate container cce3570961b9
 ---> b2f4d06f38d9
Step 14/27 : ENV JAVA_HOME=/u01/jdk ORACLE_HOME=/u01/oracle OPATCH_NO_FUSER=true
 ---> Running in 1f6c55468eb7
Removing intermediate container 1f6c55468eb7
 ---> 30ee8f9c193e
Step 15/27 : RUN mkdir -/u01/oracle && mkdir -/u01/oracle/oraInventory && chown oracle:oracle /u01/oracle/oraInventory && chown oracle:oracle /u01/oracle
 ---> Running in 4e64b121140b
Removing intermediate container 4e64b121140b
 ---> 0d0616e5aaaf
Step 16/27 : COPY --from=jdk_build --chown=oracle:oracle /u01/jdk /u01/jdk/
 ---> 0094acd3ba54
Step 17/27 : COPY --chown=oracle:oracle fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip wls.rsp /tmp/imagetool/
 ---> af7435c91901
Step 18/27 : COPY --chown=oracle:oracle oraInst.loc /u01/oracle/
 ---> 721ff5eb5dd3
Step 19/27 : USER oracle
 ---> Running in 6d29f35f03b2
Removing intermediate container 6d29f35f03b2
 ---> 0ca5000ca89f
Step 20/27 : RUN echo "INSTALLING MIDDLEWARE"     && echo "INSTALLING wls"     && unzip -/tmp/imagetool/fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip "*.[jb][ai][rn]" -/tmp/imagetool && /u01/jdk/bin/java -Xmx1024m -jar /tmp/imagetool/fmw_14.1.1.0.0_wls_lite_quick_slim_generic.jar -silent ORACLE_HOME=/u01/oracle     -responseFile /tmp/imagetool/wls.rsp -invPtrLoc /u01/oracle/oraInst.loc -ignoreSysPrereqs -force -novalidation   && test $? -eq 0 && chmod -R g+/u01/oracle || (grep -vh "NOTIFICATION" /tmp/OraInstall*/install*.log && exit 1)
 ---> Running in 6bfe78c17eeb
INSTALLING MIDDLEWARE
INSTALLING wls
Launcher log file is /tmp/OraInstall2022-08-02_04-28-46AM/launcher2022-08-02_04-28-46AM.log.
Extracting the installer . . . . Done
Checking if CPU speed is above 300 MHz.   Actual 2545.214 MHz    Passed
Checking swap space: must be greater than 512 MB.   Actual 8191 MB    Passed
Checking if this platform requires a 64-bit JVM.   Actual 64    Passed (64-bit not required)
Checking temp space: must be greater than 300 MB.   Actual 12447 MB    Passed
Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2022-08-02_04-28-46AM
Log: /tmp/OraInstall2022-08-02_04-28-46AM/install2022-08-02_04-28-46AM.log
Setting ORACLE_HOME...
 
*****************************************************
 
 
Distribution Name : Oracle Fusion Middleware 14.1.1 WebLogic and Coherence Developer Slim
Distribution Version : 14.1.1.0.0
 
Oracle Inventory : /u01/oracle/oraInventory
 
Oracle Home : /u01/oracle
Java Home : /u01/jdk
 
*****************************************************
 
Copyright (c) 19962020, Oracle and/or its affiliates. All rights reserved.
Reading response file..
Skipping Software Updates
Validations are disabled for this session.
Verifying data
Copying Files
Percent Complete : 10
Percent Complete : 20
Percent Complete : 30
Percent Complete : 40
Percent Complete : 50
Percent Complete : 60
Percent Complete : 70
Percent Complete : 80
Percent Complete : 90
Percent Complete : 100
 
The installation of Oracle Fusion Middleware 14.1.1 WebLogic and Coherence Developer Slim 14.1.1.0.0 completed successfully.
Logs successfully copied to /u01/oracle/cfgtoollogs/oui.
Removing intermediate container 6bfe78c17eeb
 ---> ec08a8f4204d
Step 21/27 : FROM os_update as final_build
 ---> 0573a058a1f0
Step 22/27 : ENV ORACLE_HOME=/u01/oracle     JAVA_HOME=/u01/jdk     PATH=${PATH}:/u01/jdk/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:/u01/oracle
 ---> Running in 421dafe4826c
Removing intermediate container 421dafe4826c
 ---> 6655f50e690c
Step 23/27 : LABEL com.oracle.weblogic.imagetool.buildid="428e0984-3943-4db8-999f-2989ac47e8dc"
 ---> Running in 7f632b5ba4d4
Removing intermediate container 7f632b5ba4d4
 ---> 13fd18af4a15
Step 24/27 : COPY --from=jdk_build --chown=oracle:oracle /u01/jdk /u01/jdk/
 ---> dfebec348d0b
Step 25/27 : COPY --from=wls_build --chown=oracle:oracle /u01/oracle /u01/oracle/
 ---> 4d33774da9de
Step 26/27 : USER oracle
 ---> Running in 44d54af5b7a3
Removing intermediate container 44d54af5b7a3
 ---> f0ec98dd6566
Step 27/27 : WORKDIR /u01/oracle
 ---> Running in 5ac110b0d216
Removing intermediate container 5ac110b0d216
 ---> b107ac6eb4eb
Successfully built b107ac6eb4eb
Successfully tagged wls:14.1.1.0.0-slim
[INFO   ] Build successful. Build time=259s. Image tag=wls:14.1.1.0.0-slim
[root@middleware-works-centos8 bin]# docker image list
REPOSITORY                   TAG               IMAGE ID       CREATED          SIZE
wls                          14.1.1.0.0-slim   b107ac6eb4eb   12 seconds ago   1.02GB
wls                          14.1.1.0.0        033e6f70ff0f   12 minutes ago   1.39GB
wls                          12.2.1.3.0        d4374a78436c   16 hours ago     1.36GB
ghcr.io/oracle/oraclelinux   8-slim            c7c0b3ae3077   3 weeks ago      101MB
cs

정상적으로 WebLogic 14c 버전 slim docker image가 생성되었습니다.

 

Generic 버전과 약 300메가 정도 차이가 나는 것을 확인할 수 있으며, 수십 ~ 수백 대의 컨테이너를 운용하는 환경의 경우 더욱 효과가 클 것으로 보입니다.

 

이런 방법을 활용하면 WebLogic 뿐만 아니라 Oracle의 다른 미들웨어 제품들도 docker image를 생성할 수 있는데요

다음 제품들의 작업이 가능합니다.

https://oracle.github.io/weblogic-image-tool/

 

:: WebLogic Image Tool

WebLogic Image Tool Oracle is finding ways for organizations using WebLogic Server to run important workloads, to move those workloads into the cloud, and to simplify and speed up the application deployment life cycle. By adopting industry standards, such

oracle.github.io

Supported Fusion Middleware (FMW) products

Use WebLogic Image Tool to create, update, and rebase the following FMW product images:
  • Oracle WebLogic Server (WLS)
  • Fusion Middleware Infrastructure (FMW)
  • Oracle BPM Suite for business process (SOA)
  • Oracle Service Bus (OSB)
  • Oracle Analytics Server (OAS)
  • Oracle Data Integrator (ODI)
  • Oracle Access Management (OAM)
  • Oracle Identity Governance (OIG)
  • Oracle Unified Directory (OUD)
  • Universal Content Management (UCM)
  • Oracle Managed File Transfer (MFT)
  • Oracle Internet Directory (OID)
  • Oracle WebCenter Sites (WCS)
  • Oracle Identity Manager (IDM)
  • Oracle WebCenter Content (WCC)
  • Oracle WebCenter Portal (WCP)

이번장은 여기서 마무리하고 다음장에서 docker 운영환경 구성과 관련된 내용을 알아보도록 하겠습니다.


블로그 포스팅 내용을 동영상 데모로 작성하였습니다.

이해가 어려우신 분은 데모를 보시고 따라해 보세요.