If you have access to the My Oracle Support (MOS), and there is a need to build a new image with a patch (bundle or interim), it is recommended to use the WebLogic Image Tool to build an Oracle WebCenter Content image for production deployments.
Using the WebLogic Image Tool, you can create a new Oracle WebCenter Content Docker image (can include patches as well) or update an existing image with one or more patches (bundle patch and interim patches).
Recommendations:
- Use create for creating a new Oracle WebCenter Content Docker image either:
- without any patches
- or, containing the Oracle WebCenter Content binaries, bundle patch and interim patches. This is the recommended approach if you have access to the Oracle WebCenter Content patches because it optimizes the size of the image.
- Use update for patching an existing Oracle WebCenter Content Docker image with a single interim patch. Note that the patched image size may increase considerably due to additional image layers introduced by the patch application tool.
Verify that your environment meets the following prerequisites:
To set up the WebLogic Image Tool:
Create a working directory and change to it. In these steps, this directory is imagetool-setup
.
$ mkdir imagetool-setup
$ cd imagetool-setup
Download the latest version of the WebLogic Image Tool from the releases page.
Unzip the release ZIP file to the imagetool-setup
directory.
Execute the following commands to set up the WebLogic Image Tool on a Linux environment:
$ cd imagetool-setup/imagetool/bin
$ source setup.sh
To validate the setup of the WebLogic Image Tool:
Enter the following command to retrieve the version of the WebLogic Image Tool:
$ imagetool --version
Enter imagetool
then press the Tab key to display the available imagetool
commands:
$ imagetool <TAB>
cache create help rebase update
The WebLogic Image Tool creates a temporary Docker context directory, prefixed by wlsimgbuilder_temp
, every time the tool runs. Under normal circumstances, this context directory will be deleted. However, if the process is aborted or the tool is unable to remove the directory, it is safe for you to delete it manually. By default, the WebLogic Image Tool creates the Docker context directory under the user’s home directory. If you prefer to use a different directory for the temporary context, set the environment variable WLSIMG_BLDDIR
:
$ export WLSIMG_BLDDIR="/path/to/buid/dir"
The WebLogic Image Tool maintains a local file cache store. This store is used to look up where the Java, WebLogic Server installers, and WebLogic Server patches reside in the local file system. By default, the cache store is located in the user’s $HOME/cache
directory. Under this directory, the lookup information is stored in the .metadata
file. All automatically downloaded patches also reside in this directory. You can change the default cache store location by setting the environment variable WLSIMG_CACHEDIR
:
$ export WLSIMG_CACHEDIR="/path/to/cachedir"
Creating an Oracle WebCenter Content Docker image using the WebLogic Image Tool requires additional container scripts for Oracle WebCenter Content domains.
Clone the docker-images repository to set up those scripts. In these steps, this directory is DOCKER_REPO
:
$ cd imagetool-setup
$ git clone https://github.com/oracle/docker-images.git
Copy the additional WebLogic Image Tool build files from the operator source repository to the imagetool-setup
location:
$ mkdir -p imagetool-setup/docker-images/WebCenterContent/imagetool/12.2.1.4.0
$ cd imagetool-setup/docker-images/WebCenterContent/imagetool/12.2.1.4.0
$ cp -rf ${WORKDIR}/weblogic-kubernetes-operator/kubernetes/samples/scripts/imagetool-scripts/* .
After setting up the WebLogic Image Tool and required build scripts, follow these steps to use the WebLogic Image Tool to create
a new Oracle WebCenter Content Docker image.
You must download the required Oracle WebCenter Content installation binaries and patches as listed below from the Oracle Software Delivery Cloud and save them in a directory of your choice. In these steps, this directory is download location
.
Note: This is a sample list of patches. You must get the appropriate list of patches for your Oracle WebCenter Content image.
The following files available in the code repository location <imagetool-setup-location>/docker-images/OracleWebCenterContent/imagetool/12.2.1.4.0
are used for creating the image.
additionalBuildCmds.txt
buildArgs
In the buildArgs
file, update all the occurrences of %DOCKER_REPO%
with the docker-images
repository location, which is the complete path of imagetool-setup/docker-images
.
For example, update:
%DOCKER_REPO%/OracleWebCenterContent/imagetool/12.2.1.4.0/
to:
<imagetool-setup-location>/docker-images/OracleWebCenterContent/imagetool/12.2.1.4.0/
Similarly, update the placeholders %JDK_VERSION%
and %BUILDTAG%
with appropriate values.
Add a JDK package to the WebLogic Image Tool cache:
$ imagetool cache addInstaller --type jdk --version 8u251 --path <download location>/jdk-8u251-linux-x64.tar.gz
Add the downloaded installation binaries to the WebLogic Image Tool cache:
$ imagetool cache addInstaller --type fmw --version 12.2.1.4.0 --path <download location>/fmw_12.2.1.4.0_infrastructure.jar
$ imagetool cache addInstaller --type wcc --version 12.2.1.4.0 --path <download location>/fmw_12.2.1.4.0_wccontent.jar
Add the downloaded patches to the WebLogic Image Tool cache:
Update the patches list to buildArgs
.
To the create
command in the buildArgs
file, append the Oracle WebCenter Content patches list using the --patches
flag and Opatch patch using the --opatchBugNumber
flag. Sample options for the list of patches above are:
--patches 31754672_12.2.1.4.0
--opatchBugNumber=28186730_13.9.4.2.4
Example buildArgs
file after appending product’s list of patches and Opatch patch:
create
--jdkVersion=8u251
--type WCC
--version=12.2.1.4.0
--tag=oracle/wccontent_create_1015:12.2.1.4.0
--pull
--additionalBuildCommands <imagetool-setup-location>/docker-images/OracleWebCenterContent/imagetool/12.2.1.4.0/additionalBuildCmds.txt
--additionalBuildFiles <imagetool-setup-location>/docker-images/OracleWebCenterContent/dockerfiles/12.2.1.4.0/container-scripts
--patches 31754672_12.2.1.4.0
--opatchBugNumber=28186730_13.9.4.2.4
Refer to this page for the complete list of options available with the WebLogic Image Tool create
command.
Enter the following command to create the Oracle WebCenter Content image:
$ imagetool @<absolute path to `buildargs` file>"
Check the created image using the docker images
command:
$ docker images | grep wcc
After setting up the WebLogic Image Tool and required build scripts, use the WebLogic Image Tool to update
an existing Oracle WebCenter Content Docker image:
Enter the following command for each patch to add the required patch(es) to the WebLogic Image Tool cache:
$ cd <imagetool-setup>
$ imagetool cache addEntry --key=30761841_12.2.1.4.0 --value <downloaded-patches-location>/p30761841_122140_Generic.zip
[INFO ] Added entry 30761841_12.2.1.4.0=<downloaded-patches-location>/p30761841_122140_Generic.zip
Provide the following arguments to the WebLogic Image Tool update
command:
–-fromImage
- Identify the image that needs to be updated. In the example below, the image to be updated is wccontent:12.2.1.4.0
.–-patches
- Multiple patches can be specified as a comma-separated list.--tag
- Specify the new tag to be applied for the image being built.Refer here for the complete list of options available with the WebLogic Image Tool update
command.
Note: The WebLogic Image Tool cache should have the latest OPatch zip. The WebLogic Image Tool will update the OPatch if it is not already updated in the image.
docker images
command:
$ docker images | grep wcc
For test and development purposes, you can create an Oracle WebCenter Content image using the Dockerfile. Consult the README file for important prerequisite steps, such as building or pulling the Server JRE Docker image, Oracle FMW Infrastructure Docker image, and downloading the Oracle WebCenter Content installer and bundle patch binaries.
A prebuilt Oracle Fusion Middleware Infrastructure image, container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4
, is available at container-registry.oracle.com
. We recommend that you pull and rename this image to build the Oracle WebCenter Content image.
$ docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4
$ docker tag container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4 oracle/fmw-infrastructure:12.2.1.4.0
Follow these steps to build an Oracle Fusion Middleware Infrastructure image, and then the Oracle WebCenter Content image as a layer on top of that:
Make a local clone of the sample repository:
$ git clone https://github.com/oracle/docker-images
Build the oracle/fmw-infrastructure:12.2.1.4
image:
$ cd docker-images/OracleFMWInfrastructure/dockerfiles
$ sh buildDockerImage.sh -v 12.2.1.4 -s
This will produce an image named oracle/fmw-infrastructure:12.2.1.4
.
Download the Oracle WebCenter Content installer from the Oracle Technology Network or e-delivery.
Note: Copy the installer binaries to the same location as the Dockerfile.
Create the Oracle WebCenter Content image by running the provided script:
$ cd docker-images/OracleWebCenterContent/dockerfiles
$ ./buildDockerImage.sh -v 12.2.1.4.0 -s
The image produced will be named oracle/wccontent:12.2.1.4.0
. The samples and instructions assume the Oracle WebCenter Content image is named wccontent:12.2.1.4.0
. You must rename your image to match this name, or update the samples to refer to the image you created.
$ docker tag oracle/wccontent:12.2.1.4.0 wccontent:12.2.1.4.0