An Introduction to Docker & Containers Rob Earlam April 2020 #sugcon © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Photo by chuttersnap on Unsplash

Donate https://virtual.sugcon.events/Donate • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Rob Earlam Sitecore Technical Evangelist robearlam.com github.com/robearlam twitter.com/robearlam linkedin.com/in/rob-earlam/ • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Agenda • Docker Concepts • Sitecore Docker Image Repository • Using Docker for Development • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Docker Concepts Photo by Lucas van Oort on Unsplash

Common Issues Dependencies Deployments Upgrades Environments • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Operating Systems Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Containers to the rescue! Container Application Dependencies / Libraries Configuration Other requirements • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Application Guest Operating System Guest Operating System Guest Operating System Hypervisor Docker Daemon Host Operating System Host Operating System Infrastructure Infrastructure Virtual Machines © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Containers • Container Application Container Application Container Virtual Machine Container Virtual Machine Container Virtual Machine Container Virtual Machines vs Containers Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

What’s inside an Image? Sitecore Experience Accelerator (SXA) Sitecore PowerShell Extensions (SPE) Sitecore PowerShell Extensions (SPE) Sitecore Experience Platform (XP) Sitecore Experience Platform (XP) Sitecore Experience Platform (XP) 4.8-windowsservercore-ltsc2019 4.8-windowsservercore-ltsc2019 4.8-windowsservercore-ltsc2019 Sitecore XP Sitecore XP + SPE SPE + SXA • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Registries Docker Hub Docker Daemon Local Registry • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Images, Containers & Registries Docker Hub Docker Daemon Containers Local Registry • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Volumes Docker Daemon Containers Local Registry • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Networking Docker Daemon Containers Network Local Registry • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

The Sitecore Docker Images Repository Photo by Lucas van Oort on Unsplash

What is the Docker-Images repository? • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

How to build the Images? Build.ps1 • [Mandatory] SitecoreUsername • [Mandatory] SitecorePassword • [Optional] SitecoreVersion • [Optional] Topology • [Optional] WindowsVersion • [Optional] IncludeSpe • [Optional] IncludeSxa • [Optional] IncludeJss • [Optional] SkipExistingImage • [Optional] IncludeExperimental • [Optional] Registry • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

aspnet:4.8-windowsservercore-ltsc2019 © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Sitecore Experience Platform (XP) Sitecore Experience Commerce (XC) Sitecore PowerShell Extensions (SPE) Sitecore Experience Accelerator (SXA) Sitecore JavaScript Services (JSS) Sitecore SXA & JSS Sitecore SXA Storefront • XC Engine Shops XC Engine Ops XC Engine Minions XC Engine Authoring XC BizFX XC XConnect XP XConnect XP CD XC Identity XP JSS CD XP SXA CD XC SPE CD XC CD XP JSS Standalone XP Standalone Sitecore Experience Manager (XM) XC SXA JSS CD XC SXA CD XP SXA JSS Standalone XP SXA Standalone XP SPE Standalone XC SPE Standalone XC Standalone XM JSS CD XM CD Legend XP Identity XM CM XM SXA CD XM JSS CM XM SPE CM XM SXA JSS CD XM SXA CM XC SXA Standalone XM SXA JSSS CM XC SXA Storefront Standalone XC SXA Storefront CD What Images are built? Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Entrypoints Production Development • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

How to use the images? • Docker-Compose pulls groups of containers into complete systems • 22+ examples for 9.3 in the repo. • XM, XP & XC examples • SPE, SXA, JSS examples and more! • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

How to work in a dev team? • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

How to work in a dev team? • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Photo by CJ Dayrit on Unsplash Using Docker for Sitecore Development

What do we need? GitHub Repository Custom docker-compose (XP & SXA) Visual Studio Solution TDS Serialisation • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Architecture Legend Sitecore Experience Platform (XP) Base Image Sitecore Experience Accelerator (SXA) XP SXA SqlDev mssql-developer:2017windowsservercore-ltsc2019 XP SXA CD XP SXA Standalone XP XConnect XP XConnect Index Worker aspnet:4.8-windowsservercore-ltsc2019 XP XConnect Processing Engine XP XConnect Automation Engine XP SXA Solr sitecore-openjdk:8nanoserver-ltsc2019 runtime:4.8-windowsservercore-ltsc2019 • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Links Videos: • Docker – A Quick Introduction https://www.youtube.com/watch?v=RMYGVOswIKk • Sitecore Docker Images Repo https://www.youtube.com/watch?v=cA1CMdwrNVU Github • Sitecore Docker Images Repo https://github.com/Sitecore/docker-images • This Repo https://github.com/robearlam/Getting-Started-With-Docker-and-Containers • © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. Please insert a background image that suits your presentation, or leave it empty. @RobEarlam

Questions? I am a proud community member! Please contact me on the following handles: Rob Earlam sitecorechat.slack.com © 2020 Sitecore User Group Conference Global and its respective speakers. All rights reserved. @RobEarlam twitter Photo by Vidar Nordli-Mathisen on Unsplash

Thank you! robearlam.com twitter.com/robearlam github.com/robearlam linkedin.com/in/rob-earlam/ Photo by Daniel von Appen on Unsplash