How to Run Sitecore 10.3.x in Docker on Windows 10

> Configs for loading useful asset images
Cover Image for How to Run Sitecore 10.3.x in Docker on Windows 10

I wanted to load these asset images on Windows 10, but I didn't find any examples online:

  • sitecore-docker-tools-assets: general Sitecore container tools and utilities
  • sitecore-spe-assets: PowerShell automation via Sitecore PowerShell Extensions
  • sitecore-management-services-xm1-assets: management services

First start by getting the SXP Sitecore Container Deployment 10.3 from Github: https://github.com/Sitecore/container-deployment/releases/tag/10.3.1.009452.1563

In the .zip, you will find two folders: ltsc2019 and ltsc2022.

While the example files provided are good, there are a few more asset images that are worth loading: sitecore-docker-tools-assets, sitecore-spe-assets, and sitecore-management-services-xm1-assets.

Certain images, such as modules, are intended only as a source during your custom Sitecore image build and you never use them at runtime. These asset images are named accordingly with a -assets suffix.

Below is an incomplete .env file for reference:

.env

_10
REGISTRY=scr.sitecore.com/sxp/
_10
SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/
_10
SITECORE_MODULE_REGISTRY=scr.sitecore.com/sxp/modules/
_10
SITECORE_TOOLS_REGISTRY=scr.sitecore.com/tools/
_10
SITECORE_VERSION=10.3-ltsc2019
_10
EXTERNAL_IMAGE_TAG_SUFFIX=ltsc2019
_10
_10
TOOLS_VERSION=10.3.0-1809
_10
SPE_VERSION=6.4.0.65-1809
_10
MANAGEMENT_SERVICES_VERSION=5.2.113-1809

Now consume the environment variables in docker-compose.yml:

docker-compose.yml

_135
version: "2.4"
_135
_135
services:
_135
_135
traefik:
_135
command:
_135
- "--ping"
_135
- "--api.insecure=true"
_135
- "--providers.docker.endpoint=npipe:////./pipe/docker_engine"
_135
- "--providers.docker.exposedByDefault=false"
_135
- "--providers.file.directory=C:/etc/traefik/config/dynamic"
_135
- "--entryPoints.websecure.address=:443"
_135
- "--entryPoints.web.address=:80"
_135
ports:
_135
- "8080:80"
_135
volumes:
_135
- source: \\.\pipe\docker_engine
_135
target: \\.\pipe\docker_engine
_135
type: npipe
_135
- ./traefik:C:/etc/traefik
_135
depends_on:
_135
id:
_135
condition: service_healthy
_135
cm:
_135
condition: service_healthy
_135
_135
mssql:
_135
mem_limit: ${MEM_LIMIT_SQL:-2GB}
_135
volumes:
_135
- .\data\mssql:c:\data
_135
restart: unless-stopped
_135
_135
mssql-init:
_135
image: ${REGISTRY}${COMPOSE_PROJECT_NAME}-xp1-mssql-init:${VERSION:-latest}
_135
build:
_135
context: ./build/mssql-init
_135
args:
_135
BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp1-mssql-init:${SITECORE_VERSION}
_135
SPE_IMAGE: ${SITECORE_MODULE_REGISTRY}sitecore-spe-assets:${SPE_VERSION}
_135
_135
solr:
_135
volumes:
_135
- .\data\solr:c:\data
_135
_135
solr-init:
_135
image: sxp/sitecore-xp1-solr-init:10.3.2-ltsc2019
_135
build:
_135
context: ./build/solr-init
_135
args:
_135
BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp1-solr-init:${SITECORE_VERSION}
_135
_135
cm:
_135
image: ${REGISTRY}${COMPOSE_PROJECT_NAME}-xp0-cm:${SITECORE_VERSION}
_135
build:
_135
context: ./build/cm
_135
args:
_135
BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-cm:${SITECORE_VERSION}
_135
TOOLING_IMAGE: ${SITECORE_TOOLS_REGISTRY}sitecore-docker-tools-assets:${TOOLS_VERSION}
_135
SPE_IMAGE: ${SITECORE_MODULE_REGISTRY}sitecore-spe-assets:${SPE_VERSION}
_135
MANAGEMENT_SERVICES_IMAGE: ${SITECORE_MODULE_REGISTRY}sitecore-management-services-xm1-assets:${MANAGEMENT_SERVICES_VERSION}
_135
environment:
_135
SITECORE_LICENSE_LOCATION: C:\license\license.xml
_135
volumes:
_135
- .\data\cm\website:C:\deploy
_135
- .\serialization:C:\serialization
_135
- .\data\cm\logs:C:\inetpub\wwwroot\App_Data\logs
_135
- .\data\cm\LmapProcessFiles:C:\inetpub\wwwroot\App_Data\LmapProcessFiles
_135
- ${LICENSE_PATH}:C:\license
_135
entrypoint: powershell -Command "& C:\\tools\\entrypoints\\iis\\Development.ps1"
_135
mem_limit: ${MEM_LIMIT_CM:-4GB}
_135
restart: unless-stopped
_135
labels:
_135
- "traefik.http.middlewares.redirect-to-https.redirectScheme.scheme=https"
_135
- "traefik.http.routers.cm.entrypoints=web"
_135
- "traefik.http.routers.cm.middlewares=redirect-to-https"
_135
_135
cd:
_135
image: ${REGISTRY}${COMPOSE_PROJECT_NAME}-xp0-cd:${SITECORE_VERSION}
_135
build:
_135
context: ./build/cd
_135
args:
_135
BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp1-cd:${SITECORE_VERSION}
_135
TOOLING_IMAGE: ${SITECORE_TOOLS_REGISTRY}sitecore-docker-tools-assets:${TOOLS_VERSION}
_135
environment:
_135
SITECORE_LICENSE_LOCATION: C:\license\license.xml
_135
volumes:
_135
- .\data\cd\website:C:\deploy
_135
- .\data\cd\logs:C:\inetpub\wwwroot\App_Data\logs
_135
- ${LICENSE_PATH}:C:\license
_135
entrypoint: powershell -Command "& C:\\tools\\entrypoints\\iis\\Development.ps1"
_135
mem_limit: ${MEM_LIMIT_CM:-4GB}
_135
restart: unless-stopped
_135
labels:
_135
- "traefik.http.middlewares.redirect-to-https.redirectScheme.scheme=https"
_135
- "traefik.http.routers.cd.entrypoints=web"
_135
- "traefik.http.routers.cd.rule=Host(`${CD_HOST}`) || Host(`asm-${CD_HOST}`) "
_135
- "traefik.http.routers.cd.middlewares=redirect-to-https"
_135
_135
id:
_135
environment:
_135
SITECORE_LICENSE_LOCATION: C:\license\license.xml
_135
volumes:
_135
- ${LICENSE_PATH}:C:\license
_135
_135
xconnect:
_135
image: ${REGISTRY}${COMPOSE_PROJECT_NAME}-xp0-xconnect:${SITECORE_VERSION}
_135
build:
_135
context: ./build/xconnect
_135
args:
_135
BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-xconnect:${SITECORE_VERSION}
_135
TOOLING_IMAGE: ${SITECORE_TOOLS_REGISTRY}sitecore-docker-tools-assets:${TOOLS_VERSION}
_135
environment:
_135
SITECORE_LICENSE_LOCATION: C:\license
_135
volumes:
_135
- .\data\xconnect:C:\deploy
_135
- ${LICENSE_PATH}:C:\license
_135
entrypoint: powershell -Command "& C:\\tools\\entrypoints\\iis\\Development.ps1"
_135
_135
xdbsearchworker:
_135
environment:
_135
SITECORE_LICENSE_LOCATION: C:\license
_135
volumes:
_135
- ${LICENSE_PATH}:C:\license
_135
_135
xdbautomationworker:
_135
environment:
_135
SITECORE_LICENSE_LOCATION: C:\license
_135
volumes:
_135
- ${LICENSE_PATH}:C:\license
_135
_135
cortexprocessingworker:
_135
environment:
_135
SITECORE_LICENSE_LOCATION: C:\license
_135
volumes:
_135
- ${LICENSE_PATH}:C:\license

Here is a useful resource which provides a comprehensive list of Sitecore Docker image tags:

https://raw.githubusercontent.com/Sitecore/docker-images/master/tags/sitecore-tags.md

May the container gods have mercy on your soul.

-MG


More Stories