We provide Docker images not only for Sitecore XM Cloud, but also for the latest versions of Sitecore. This makes it easy to switch between development and verification environments. In this article, we will introduce Sitecore's Docker images.
docker-images repository
Information on Docker images for use with Sitecore's products is available in the following GitHub repositories
There are two files available in this repository under tags, a Json file and a Markdown file. If you actually go to the Markdown file, you will see the following list of images related to XM Cloud
Check out XM Cloud projects
We will check the environment when launching Docker locally. When launched locally, seven containers will be launched.
Check the respective base images: docker-compose.yml, docker-compose.override.yml and .env.
Image name | Path |
---|---|
traefik | traefik:v2.5.3-windowsservercore-1809 |
mssql | scr.sitecore.com/sxp/nonproduction/mssql-developer:2017-ltsc2019 |
mssql-init | scr.sitecore.com/xmcloud/sitecore-xmcloud-mssql-init:1-ltsc2019 |
solr | scr.sitecore.com/sxp/nonproduction/solr:8.11.2-ltsc2019 |
solr-init | scr.sitecore.com/xmcloud/sitecore-xmcloud-solr-init:1-ltsc2019 |
cm | scr.sitecore.com/xmcloud/sitecore-xmcloud-cm:1-ltsc2019 |
nodejs | mcr.microsoft.com/windows/nanoserver:1809 |
rendering | nodejs |
Since there are nodejs images that are the parent of the rendering images, there were eight available as settings. These two are responsible for the rendering part of Next.js. As for traefik, the official image is used as it is.
Of the remaining five, cm, mssql-init, and solr-init use XM Cloud images, while mssql and solr use the DB used by Sitecore XP.
Verify the latest image
Basically, the configuration is set to use the latest image, but this time we would like to change the base version of the Docker Image from ltsc2019 to ltsc2022. Before changing the settings, check the repositories to make sure that ltsc2022 is available for the image in question.
The following images were found with respect to the CM
If you search using Digest to see which version the actual image is, you will see that it was created in November in the form 1.4.529.2950-10.0.20348.2031-ltsc2022.
Similarly, we checked whether mssql-init and solr-init were available and found that they were.
A subsequent check for mssql-developer and solr shows that ltsc2022 is ready (both are shown in the following screenshot).
All images have been checked. To change them all at once, change the following items in .env.
SITECORE_VERSION=1-ltsc2022
EXTERNAL_IMAGE_TAG_SUFFIX=ltsc2022
Checking other items that refer to Docker images, TOOLS_IMAGE refers to scr.sitecore.com/tools/sitecore-docker-tools-assets:10.2.0-1809. Referring to the list of images, 10.2.0-ltsc2022 was released in August of this year, so this should also be rewritten as follows
TOOLS_IMAGE=scr.sitecore.com/tools/sitecore-docker-tools-assets:10.2.0-ltsc2022
Finally, I checked the https://hub.docker.com/_/microsoft-windows-nanoserver page for information on nanoserver, on which Node.js is based, and found that ltsc2022 had been released as well. So I will rewrite it.
NODEJS_PARENT_IMAGE=mcr.microsoft.com/windows/nanoserver:ltsc2022
This completes the configuration. Build and run the image again. Since the base image is LTSC2022, there is no difference in operation, and we confirmed that it can be used.
Review of changes
In order to keep the Docker images up-to-date, we checked and updated the latest version of each image by looking at the repository list. This image was released in the summer of this year, but we introduced it at this time.
One of the benefits of this change is that the disk size is immediately noticeable: the CM image is more than 2.5 GB smaller.
Also significant is the ability to use Docker process separation from LTSC2022 in Windows 11 environments.
A support lifecycle for container images is available from Microsoft.
In fact, mainstream support for LTSC2019 will expire on January 9, 2024, shortly after the publication of this blog post. The official project image may be about to change as well.
Summary
In this article, we introduced the procedure for switching a project to the latest OS. The point of this article is to show you where to refer to when switching, so that you can refer to the repository when you want to check the OS or image version in the future.