Rabehaja Loïc

View Original

An overview into Sitecore's Docker Images repository's infrastructure

Table Of Content:

Entrée

Lately I've been playing around with the Sitecore docker images repository. It contains already a lot of images if you want to explore the possibilities of the usage of docker containers for your Sitecore environments. Although its structure is straightforward, finding my way there, while contributing by creating a whole set of images for the 9.1.1 version was a little bit on the challenging side. Ergo I would like to use this article to share my experience about its structure and potentially helping you finding also your way.

La Pièce de Résistance

Important items in the Root folder

There are 4 items that are really important on the root folder:

  • Linux folder
    • The linux images build folder
  • Windows Folder
    • The windows images build folder
  • Build.ps1
    • The script responsible for building the docker images. More information can be found on the readme.md itself
  • Sitecore-packages.json
    • The file that holds all the link to the resources required to build the images. This is read by the build scripts and elements declared in this files will be downloaded in their respective version folders and used for the installation of a specific Sitecore version during the building process.

The images folders

The repository provides you with 2 images build folders - windows and linux. Both folders would be structured as described below:

Root Folder Structure

The differences between the folders

Folder Name Description
[Major Version].[Minor Version] This folder contains all images that are needed to build an image of a specific version of Sitecore. Most of the cases, this wil contain the sitecore-assets images. This image will contain all specific files that are needed to deploy that specific version of Sitecore into an sitecore-assets which in turn will be used as base image for other Sitecore flavors (like 9.3 for example). Click here if you want to know more about sitecore-assets.
[Major Version].[Minor Version].X This folder contains all images that are related and common to the combination of Major and Minor version releases. For example for Sitecore 9.2 we would have some common flavors. like Sitecore Commerce (XC), etc...
[Major Version].X.X This folder contains all images related to a Major version of Sitecore. For example SXA, SPE or PS or SOLR. You can find here a list of images you can find in this folder just to get an idea.
Dependencies This folder contains the prerequisite images such as SQL Server, etc etc..
Tests This folder contains all kinds of docker-compose file sample that would help you directly get a docker continer up and running on your machine.

What's in [Major].X.X ?

What's in sitecore-assets images

The Sitecore Assets image contains all the references to the entrypoints, configuration and serves as the base image for any of the Sitecore docker images. In short, when we build an image, the content is downloaded into this folder from the sitecore website, then the docker daemon will create a sitecore-asset:[Sitecore version number] in which all the downloaded packages will be copied into.

Le Dessert

As we can see, the folder structure of the docker images repository follows the official Sitecore product line's structure. Hopefully this article would have helped get a better understanding of "where to find what" within the docker image repository, and would prompt you in exploring the usage of Sitecore's docker image.

Happy Disovery!

P.S: This article is based on the repository's structure and state on this day of publishing