Skip to content

Automated repository of Sitecore Docker base images

Notifications You must be signed in to change notification settings

monkey-ldb/sitecore-images

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repository of Sitecore Docker base images

Build your own Docker images out of every released Sitecore version since 8.2 rev. 170407 (Update 3) - the first version that officially supported Windows Server 2016. You can use this repository (preferably from a fork so you are in control of updates) from you own build server and have it build and push images to your private Docker repository.

There are some more background and details in this post: https://invokecommand.net/posts/automatically-build-and-update-base-images.

Updates

  • [Changed] Restructured Sitecore 9.1.0 XM1 CM/CD/base docker files to use multi-stage builds, number of layers reduced from 25 to 13 and the size is also reduced to 5.06 GB.
  • [Added] Sitecore 9.1.0 XM1 CM/CD, SQL Developer on ltsc2019 and Solr (7.2.1) on 1809. Please note the new XM1 specific tags for SQL and Solr.
  • [Changed] Updated Sitecore 9.0.1, 9.0.2 Solr images to latest patch release: 6.6.3.
  • [Changed] Updated openjdk base images used for Solr to latest version: java-1.8.0-openjdk-1.8.0.191-1.b12.
  • [Added] Sitecore 9.0.2 XM1 CM/CD, SQL Developer on ltsc2019 and Solr on 1809.
  • [Changed] Migrated Microsoft base images to use the new official registry "mcr.microsoft.com".
  • [Added] Sitecore 8.2.180406 Solr on nanoserver-1803.
  • [Added] Sitecore 8.2.180406 SQL Developer on windowsservercore-1803.
  • [Added] CD, CM, Processing and Reporting roles to Sitecore 8.2.180406 on windowsservercore-1803.
  • [Added] Sitecore 8.2.* on windowsservercore-1803.
  • [Added] Sitecore 9.0.2 XM1 CM/CD, SQL Developer and Solr on 1803.
  • [Added] Sitecore 9.0.1 on windowsservercore-1803.
  • [Added] Sitecore 9.0.1 Solr on nanoserver-1803.
  • [Added] Sitecore 9.0.1 SQL Developer on windowsservercore-1803.
  • [Added] Sitecore 9.0.1 Solr on windowsservercore-1709.
  • [Added] Sitecore 9.0.1 SQL Developer on windowsservercore-1709.
  • [Breaking] Restructured versions and tags to support multiple Windows channels (ltsc2016, 1709, 1803 etc), there are now more repositories per version, one for each topology/role. See Tags and Windows versions.
  • [Breaking] Decoupled image tags from structure by specifying full tag in "build.json".
  • [Added] Sitecore 8.2 Update 7.
  • [Fixed] Added UrlRewrite outbound rule to handle Sitecore redirect after login when container is running on another port than 80 (possible in Windows 10 1803).
  • [Fixed] Solr build errors regarding downloads from github (TLS 1.2 now used).
  • [Added] Specialized Solr image with all Sitecore cores embedded and volume support, for Sitecore 9.0.1 (which defaults to use Solr).
  • [Added] Specialized SQL Server images with all Sitecore databases embedded and volume support, for Sitecore 9.
  • [Changed] all Sitecore 9 images now default has connection strings matching the new specialized SQL Server images.
  • [Added] XM1 CM and CD role images for Sitecore 9.

Current images

Version Repository OS OS Version Tag
9.1.001564 sitecore-xm1-sqldev windowsservercore ltsc2019 sitecore-xm1-sqldev:9.1.001564-windowsservercore-ltsc2019 Dockerfile
9.1.001564 sitecore-xm1-cm windowsservercore ltsc2019 sitecore-xm1-cm:9.1.001564-windowsservercore-ltsc2019 Dockerfile
9.1.001564 sitecore-base windowsservercore ltsc2019 sitecore-base:9.1.001564-windowsservercore-ltsc2019 Dockerfile
9.1.001564 sitecore-xm1-solr nanoserver 1809 sitecore-xm1-solr:9.1.001564-nanoserver-1809 Dockerfile
9.0.180604 sitecore-xm1-cm windowsservercore ltsc2019 sitecore-xm1-cm:9.0.180604-windowsservercore-ltsc2019 Dockerfile
9.0.180604 sitecore-xm1-cd windowsservercore ltsc2019 sitecore-xm1-cd:9.0.180604-windowsservercore-ltsc2019 Dockerfile
9.0.180604 sitecore-sqldev windowsservercore ltsc2019 sitecore-sqldev:9.0.180604-windowsservercore-ltsc2019 Dockerfile
9.0.180604 sitecore-base windowsservercore ltsc2019 sitecore-base:9.0.180604-windowsservercore-ltsc2019 Dockerfile
9.0.180604 sitecore-solr nanoserver 1809 sitecore-solr:9.0.180604-nanoserver-1809 Dockerfile
9.0.180604 sitecore-xm1-cm windowsservercore 1803 sitecore-xm1-cm:9.0.180604-windowsservercore-1803 Dockerfile
9.0.180604 sitecore-xm1-cd windowsservercore 1803 sitecore-xm1-cd:9.0.180604-windowsservercore-1803 Dockerfile
9.0.180604 sitecore-sqldev windowsservercore 1803 sitecore-sqldev:9.0.180604-windowsservercore-1803 Dockerfile
9.0.180604 sitecore-solr nanoserver 1803 sitecore-solr:9.0.180604-nanoserver-1803 Dockerfile
9.0.180604 sitecore-base windowsservercore 1803 sitecore-base:9.0.180604-windowsservercore-1803 Dockerfile
9.0.171219 sitecore-sqldev windowsservercore ltsc2016 sitecore-sqldev:9.0.171219-windowsservercore-ltsc2016 Dockerfile
9.0.171219 sitecore-solr nanoserver ltsc2016 sitecore-solr:9.0.171219-nanoserver-ltsc2016 Dockerfile
9.0.171219 sitecore-xm1-cm windowsservercore 1803 sitecore-xm1-cm:9.0.171219-windowsservercore-1803 Dockerfile
9.0.171219 sitecore-xm1-cd windowsservercore 1803 sitecore-xm1-cd:9.0.171219-windowsservercore-1803 Dockerfile
9.0.171219 sitecore-sqldev windowsservercore 1803 sitecore-sqldev:9.0.171219-windowsservercore-1803 Dockerfile
9.0.171219 sitecore-solr nanoserver 1803 sitecore-solr:9.0.171219-nanoserver-1803 Dockerfile
9.0.171219 sitecore-base windowsservercore 1803 sitecore-base:9.0.171219-windowsservercore-1803 Dockerfile
9.0.171219 sitecore-xm1-cm windowsservercore 1709 sitecore-xm1-cm:9.0.171219-windowsservercore-1709 Dockerfile
9.0.171219 sitecore-xm1-cd windowsservercore 1709 sitecore-xm1-cd:9.0.171219-windowsservercore-1709 Dockerfile
9.0.171219 sitecore-sqldev windowsservercore 1709 sitecore-sqldev:9.0.171219-windowsservercore-1709 Dockerfile
9.0.171219 sitecore-solr nanoserver 1709 sitecore-solr:9.0.171219-nanoserver-1709 Dockerfile
9.0.171219 sitecore-base windowsservercore 1709 sitecore-base:9.0.171219-windowsservercore-1709 Dockerfile
9.0.171002 sitecore-sqldev windowsservercore ltsc2016 sitecore-sqldev:9.0.171002-windowsservercore-ltsc2016 Dockerfile
9.0.171002 sitecore-xm1-cm windowsservercore 1709 sitecore-xm1-cm:9.0.171002-windowsservercore-1709 Dockerfile
9.0.171002 sitecore-xm1-cd windowsservercore 1709 sitecore-xm1-cd:9.0.171002-windowsservercore-1709 Dockerfile
9.0.171002 sitecore-base windowsservercore 1709 sitecore-base:9.0.171002-windowsservercore-1709 Dockerfile
8.2.180406 sitecore-sqldev windowsservercore 1803 sitecore-sqldev:8.2.180406-windowsservercore-1803 Dockerfile
8.2.180406 sitecore-solr nanoserver 1803 sitecore-solr:8.2.180406-nanoserver-1803 Dockerfile
8.2.180406 sitecore-reporting windowsservercore 1803 sitecore-reporting:8.2.180406-windowsservercore-1803 Dockerfile
8.2.180406 sitecore-processing windowsservercore 1803 sitecore-processing:8.2.180406-windowsservercore-1803 Dockerfile
8.2.180406 sitecore-cm windowsservercore 1803 sitecore-cm:8.2.180406-windowsservercore-1803 Dockerfile
8.2.180406 sitecore-cd windowsservercore 1803 sitecore-cd:8.2.180406-windowsservercore-1803 Dockerfile
8.2.180406 sitecore windowsservercore 1803 sitecore:8.2.180406-windowsservercore-1803 Dockerfile
8.2.180406 sitecore windowsservercore 1709 sitecore:8.2.180406-windowsservercore-1709 Dockerfile
8.2.171121 sitecore windowsservercore 1803 sitecore:8.2.171121-windowsservercore-1803 Dockerfile
8.2.171121 sitecore windowsservercore 1709 sitecore:8.2.171121-windowsservercore-1709 Dockerfile
8.2.170728 sitecore windowsservercore 1803 sitecore:8.2.170728-windowsservercore-1803 Dockerfile
8.2.170728 sitecore windowsservercore 1709 sitecore:8.2.170728-windowsservercore-1709 Dockerfile
8.2.170614 sitecore windowsservercore 1803 sitecore:8.2.170614-windowsservercore-1803 Dockerfile
8.2.170614 sitecore windowsservercore 1709 sitecore:8.2.170614-windowsservercore-1709 Dockerfile
8.2.170407 sitecore windowsservercore 1803 sitecore:8.2.170407-windowsservercore-1803 Dockerfile
8.2.170407 sitecore windowsservercore 1709 sitecore:8.2.170407-windowsservercore-1709 Dockerfile
8 sitecore-openjdk nanoserver 1809 sitecore-openjdk:8-nanoserver-1809 Dockerfile
8 sitecore-openjdk nanoserver 1803 sitecore-openjdk:8-nanoserver-1803 Dockerfile
8 sitecore-openjdk nanoserver 1709 sitecore-openjdk:8-nanoserver-1709 Dockerfile

Tags and Windows versions

This repository now supports multiple Windows versions and support channels ie. "ltsc2016", "1709" and "1803". Read more about Windows Container Version Compatibility.

Here is the convention used when tagging images:

 registry.example.com/sitecore-xm1-cm:9.0.171219-windowsservercore-1709
 \__________________/ \_____________/ \________/ \____________________/
           |                 |             |               |
   registry/org/user    repository    sc version       os version

Please note that the sc version part of the tags matches the corresponding NuGet package version for a given Sitecore version and not the "marketing version" ie 9.0.1, 9.0.2 etc. This is to make it clear in the implementing projects which NuGet package versions goes with which tags.

How to use

Prerequisites

  • A private Docker repository. Any will do, but the easiest is to use a Azure Container Registry or to sign-up for a private plan on https://hub.docker.com, you need at least the "Small" plan at $12/mo.
  • A file share that your build agents can reach, where you have placed zip files downloaded from https://dev.sitecore.net/ and your license.xml.
  • Some kind of build server for example TeamCity, with agents that runs:
    • Windows 10 or Windows Server 2016 that is up to date and on latest build.
    • Hyper-V and Containers Windows features installed.
    • Latest stable Docker engine and cli.

Configure your build server

  1. Trigger a build on changes to this git repository - to get new versions.
  2. Trigger once a week - to get base images updated when Microsoft releases patched images.

Example:

# Login
"YOUR DOCKER REPOSITORY PASSWORD" | docker login --username "YOUR DOCKER REPOSITORY USERNAME" --password-stdin

# Load module
Import-Module (Join-Path $PSScriptRoot "\modules\SitecoreImageBuilder") -Force

# Build and push
SitecoreImageBuilder\Invoke-Build `
    -Path (Join-Path $PSScriptRoot "\images") `
    -InstallSourcePath "PATH TO WHERE YOU KEEP ALL SITECORE ZIP FILES AND LICENSE.XML" `
    -Registry "YOUR REGISTRY NAME" ` # On Docker Hub it's your username or organization, else it's the DNS to your private registry.
    -Tags "*" ` # optional (default "*"), set to for example "sitecore-openjdk:*-1803", "sitecore-*:9.0.1*1803" to only build 9.0.x images on 1803.
    -PushMode "WhenChanged" # optional (default "WhenChanged"), can also be "Never" or "Always".

About

Automated repository of Sitecore Docker base images

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 49.5%
  • Dockerfile 48.8%
  • Batchfile 1.7%