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
A presentation at Global Virtual Sitecore User Group in April 2020 in by Rob Earlam
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