Updating IBM software in HCL Commerce WebSphere Application Server V8.5.5 Liberty-based Docker images (9.1.14.0+)
To ensure that your site remains up-to-date with any important fixes that are delivered subsequent to the latest HCL Commerce release, or to continue to use older HCL Commerce release images, this group of tasks can be used to manually rebuild custom images to include important IBM stack updates.
For HCL Commerce Version 9.1, this includes the search-app,
crs-app, search-query-app,
mustgather-app, ingest-app, cache-app, and
xc-app.
Before you begin
Procedure
-
Download
and extract the sample Dockerfile scripts and Installation Manager response
files into the directory where you build your images.
These sample archives place template Installation Manager response files in the correct directories. The archive also contains unique sample Dockerfiles for each stack item to illustrate how to integrate response files for each type of upgrade into the Dockerfile.
For each WebSphere Application Server V8.5.5 Liberty-based image, a Dockerfile is constructed from these samples.
The Dockerfile additions can be used to install:- A WebSphere Application Server V8.5.5 Liberty fix pack.
- One or more WebSphere Application Server V8.5.5 Liberty interim fixes.
- An update to the WebSphere Application Server V8.5.5 Liberty IBM Java SDK.
-
For each fix pack, interim fix, or Java SDK update, edit the associated Installation Manager response file.
These files contain a
<repository>section that describes the location of the specific installation file, and an<install>section, which includes the specific instructions to Installation Manager on what to install within the container. Each product requires this section to correctly reference its version or ID, and its features.Once created, the name and locations of these files will be referenced within your Dockerfile.
-
Create or modify your image Dockerfiles.
Using the following as a template, create or modify your Dockerfile and include values to conform to your prerequisite software update requirements.
For each update within the image, ensure that you duplicate and modify the download, extraction, and installation steps.
For example, if you are including a fix pack, two interim fixes, and an SDK update, there will be a total of four separate wget, unzip, and installation commands.
# Using current image FROM commerce/image-name:9.1.x.x # Copy the tmp directory COPY SETUP/ /SETUP/ # Switch to root user USER root # Create and enter temporary directory RUN mkdir -p /SETUP/tmp/packages/ && \ cd /SETUP/tmp/packages/ && \ # Download update package wget --user=username --password=password ftp://FTP-Server-URL/location-to-file/filename.zip && \ # Extract update package to temporary directory unzip /SETUP/tmp/packages/filename.zip -d /SETUP/tmp/packages/filename && \ # Install update package /opt/WebSphere/IM/eclipse/tools/imcl input /SETUP/libertyResponseFile/install-file.xml -log /SETUP/libertyResponseFile/install-file-log.log -acceptLicense && \ # Delete temporary directory rm -rf /SETUP/tmp/ && \ # Set non-root user file ownership chown -R comuser:comuser /opt/WebSphere/AppServer # Switch back to non-root user USER comuser -
Build a new custom Docker image containing the prerequisite update changes. If you are
building multiple images, repeat this step for each one.
Run the following command with your own repository name, release version, image name, and tag.
docker build -t commerce.companyabc.com/9.1.x.x/imagename:imagetag .A new image is generated using the customized Dockerfile. The created image contains each fix pack, interim fix, and/or SDK update that was configured and installed during the build process. -
Verify that the prerequisite software updates are successfully
applied.