An Introduction to Docker & Containers

A presentation at Global Virtual Sitecore User Group in April 2020 in by Rob Earlam

Slide 1

Slide 1

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

Slide 2

Slide 2

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

Slide 3

Slide 3

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

Slide 4

Slide 4

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

Slide 5

Slide 5

Docker Concepts Photo by Lucas van Oort on Unsplash

Slide 6

Slide 6

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

Slide 7

Slide 7

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

Slide 8

Slide 8

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

Slide 9

Slide 9

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

Slide 10

Slide 10

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

Slide 11

Slide 11

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

Slide 12

Slide 12

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

Slide 13

Slide 13

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

Slide 14

Slide 14

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

Slide 15

Slide 15

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

Slide 16

Slide 16

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

Slide 17

Slide 17

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

Slide 18

Slide 18

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

Slide 19

Slide 19

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

Slide 20

Slide 20

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

Slide 21

Slide 21

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

Slide 22

Slide 22

Photo by CJ Dayrit on Unsplash Using Docker for Sitecore Development

Slide 23

Slide 23

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

Slide 24

Slide 24

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

Slide 25

Slide 25

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

Slide 26

Slide 26

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

Slide 27

Slide 27

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