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:
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 ?
- JavaScript Services JSS
- Publishing Services
- JavaScript Services + Publishing Services
- Sitecore Powershell Extensions
- Sitecore Experience Accelerator
- Sitecore Experience Accelerator + Publishing Services
- Sitecore Experience Accelerator + JavaScript Services
- Sitecore Experience Accelerator + Publishing Services + JavaScript Services
- SOLR
- SQL Server
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