Step by step installation of sitecore10 on docker desktop

Step by step installation of sitecore10 on docker desktop

Step-by-Step Installation of Sitecore 10 on Docker Desktop

  • Posted by: Raman Gupta
  • 15/10/2020

Introduction

One of the highlights of the newly released Sitecore Experience Platform (10.0) is that it brings support for rapid deployment and more efficient solution and team onboarding with modern Docker technology i.e. Sitecore Containers. Sitecore, with the launch of its Sitecore XP 10, will now be providing full support for deploying solutions in containerized environment. There are already excellent and detailed resources available online that cover the concepts of containers and Docker thoroughly. In this blog, we will briefly cover the overview of the topic and step-by-step installation of Sitecore 10 docker.

Prerequisites:

To run Docker on Windows 10, you will need the following:

  • Windows 10 Professional or Enterprise version 1809 (2019 LTSC) or later
  • Hyper-V enabled
  • Docker Desktop Installed on Windows Desktop
  • Docker Desktop support for windows containers
  • 32 GB of RAM, Quad core Processor CPU
  • Approximately 25GB of free disk space for Sitecore container images. SSD storage is highly recommended for optimal performance
  • The default Sitecore container configuration uses specific ports. To avoid any conflicts, you should ensure the following ports are not being used by another process: 443, 8079, 8081, 8984, and 14330

Additional files:

  • Init.ps1
  • Docker-compose.yaml
  • Env file

Installation Step:

Once prerequisites are met, the installation itself is quite simple.

  • Enable Windows Feature for Windows Containers:
    • Run PowerShell as admin
    • Run this command
    • Enable-WindowsOptionalFeature -Online -FeatureName $(“Microsoft-Hyper-V”, “Containers”) -all

    • Powershell will prompt for system restart. Don’t do it yet
  • Download and Install Docker Desktop for windows (Stable or Edge) from here
  • Now restart Windows Desktop
  • Right click docker icon in the right bottom panel, select "Switch to Windows containers"

Step by step installation of sitecore10 on docker desktop1

  • Download Sitecore 10 Container deployment package from dev.sitecore.net (needs Sitecore account)
  • Copy and extract SitecoreContainerDeployment 10.0.0 rev. 004346-027.zip for e.g:- C:SitecoreXPDocker
  • We’ll use the XP0 topology for this demo
  • Add init.ps1 and docker-compose.yaml files (custom files)
  • Open Powershell.exe (not ISE) as admin
  • CD into the folder of Sitecore 10 Container Deployment Package and to the desired topology
  • Execute
    • .\init.ps1 -LicenseXmlPath $licensePath –SitecoreAdminPassword $AdminPwd -SqlSaPassword $sqlPwd
    • $licensePath is the path to a valid License.xml file
    • This script will set up all the environment variables in .env file

    • Execute Docker-compose up - detach

    • This should pull images from Sitecore Docker Repository
    • After pull, extraction of images is complete. The containers will be deployed

    • The scripts should run for 20 mins and instance should be ready to use

Step by step installation of sitecore10 on docker desktop2

Open Docker Dashboard and you should see Sitecore-XP0 running

Step by step installation of sitecore10 on docker desktop3

Browse to CMS

Step by step installation of sitecore10 on docker desktop4

How to get into wwwroot of docker containers?

  • Execute this to get the list of containers:
  • “Docker ps”
  • Note the container name
  • Execute this to take powershell session of the container
  • docker exec -it $containerName powershell

How to log into SQL Server using SSMS?

  • Note down the port number of SQL Container
  • Open SSMS, Enter “localhost, portNumber” in server and login with sa credentials

Download Installation Guide

Installation Guide : Installation Guide

.Init File : Installation Guide



About Author

Raman

Raman Gupta

Sitecore Architect

Raman is a Sitecore Certified Professional with over 6 years of development and implementation experience of Multi-Lingual and Multi-Site architecture design and implementations. He is proficient in project execution using agile methodology as a Scrum master with an expertise in DevOps principles as well.