@@ -4,21 +4,24 @@ theme: custom-default
44footer : ' @Chris_L_Ayers - https://chris-ayers.com'
55---
66
7- <!-- _footer: 'https://github.com/codebytes/dev-containers' -->
7+ # The Power of Dev Containers and GitHub Codespaces
8+
9+ ## ![ w:60px] ( ./img/portrait.png ) Chris Ayers
810
911![ bg right] ( img/containers.jpg )
10- # The Power of Dev Containers and GitHub Codespaces
11- ### ![ w:60px ] ( ./img/portrait.png ) Chris Ayers
12+
13+ <!-- _footer: 'https://github.com/codebytes/dev-containers' -->
1214
1315---
1416
1517![ bg left:40%] ( ./img/portrait.png )
1618
1719## Chris Ayers
20+
1821### Senior Customer Engineer<br >Microsoft
1922
2023<i class =" fa-brands fa-twitter " ></i > Twitter: @Chris \_ L\_ Ayers
21- <i class =" fa-brands fa-mastodon " ></i > Mastodon: @Chrisayers @hachyderm.io
24+ <i class =" fa-brands fa-mastodon " ></i > Mastodon: [ @Chrisayers @hachyderm.io] ( https://hachyderm.io/@Chrisayers )
2225<i class =" fa-brands fa-linkedin " ></i > LinkedIn: - [ chris\- l\- ayers] ( https://linkedin.com/in/chris-l-ayers/ )
2326<i class =" fa fa-window-maximize " ></i > Blog: [ https://chris-ayers\.com/ ] ( https://chris-ayers.com/ )
2427<i class =" fa-brands fa-github " ></i > GitHub: [ Codebytes] ( https://github.com/codebytes )
@@ -37,19 +40,31 @@ footer: '@Chris_L_Ayers - https://chris-ayers.com'
3740
3841# Prerequisites
3942
40- <div class =" columns " >
43+ <div class =" columns3 " >
4144<div >
4245
4346## DevContainers
44- - VSCode with Dev Containers Extension
45- - Docker
46- - Docker Desktop 2+ - Windows/Mac
47- - Linux - Docker CE/EE / Docker Compose 1.21+ - Not
47+
48+ - VSCode
49+ - Dev Containers Extension
50+ - GitHub Codespaces Extension
51+ - IntelliJ IDEA
52+
53+ </div >
54+
55+ <div >
56+
57+ ## Docker
58+
59+ - Docker installed locally
60+ - Docker installed on a remote environment
61+ - Other Docker compliant CLIs, installed locally or remotely
4862
4963</div >
5064<div >
5165
52- ## GitHub Codespaces
66+ ## GitHub Codespaces Requirement
67+
5368- GitHub Account
5469- GitHub Codespaces
5570
@@ -59,13 +74,10 @@ footer: '@Chris_L_Ayers - https://chris-ayers.com'
5974
6075# What are Dev Containers?
6176
62- ---
63-
64- # Dev Containers are:
65-
6677- Environments that run in a container
6778- Containers that let you open or mount any folder and still use VS Code UI and tooling
6879- Places to run Apps, Tools, or Runtimes needed for a project or codebase
80+ - [ Containers.dev] ( https://containers.dev/ ) - An open specification for enriching containers with development specific content and settings.
6981
7082---
7183
@@ -78,7 +90,7 @@ footer: '@Chris_L_Ayers - https://chris-ayers.com'
7890<div >
7991
8092- <i class =" fa fa-users " ></i > Onboard new People
81- - <i class =" fa fa-wrench " ></i > Use consistent tooling
93+ - <i class =" fa fa-wrench " ></i > Use consistent tooling
8294- <i class =" fa fa-file-code-o " ></i > Use consistent versions
8395- <i class =" fa fa-warning " ></i > Reduce System Conflicts
8496- <i class =" fa fa-tasks " ></i > Perform Startup Tasks
@@ -100,6 +112,23 @@ footer: '@Chris_L_Ayers - https://chris-ayers.com'
100112
101113---
102114
115+ # Where do Dev Containers Live?
116+
117+ ![ devcontainer folder] ( img/dev-container-folder.png )
118+
119+ ---
120+
121+ # Multiple Dev Container Configurations
122+
123+ Tooling supports multiple devcontainers.
124+ Each one should be in its own subdirectory at:
125+
126+ .devcontainer/SUBDIRECTORY/devcontainer.json.
127+
128+ ![ bg right fit] ( img/multiple-devcontainers.png )
129+
130+ ---
131+
103132# How do you build a Dev Container?
104133
105134From the Command Pallet
@@ -115,6 +144,7 @@ From the Command Pallet
115144---
116145
117146# Templates
147+
118148Full List: [ https://containers.dev/templates ] ( https://containers.dev/templates )
119149
120150- Base (Alpine, Debian, Ubuntu)
@@ -123,12 +153,6 @@ Full List: [https://containers.dev/templates](https://containers.dev/templates)
123153
124154---
125155
126- # How Do I Configure it?
127-
128- ![ files] ( img/config-file.png )
129-
130- ---
131-
132156# Customizations
133157
134158- Features
@@ -140,6 +164,7 @@ Full List: [https://containers.dev/templates](https://containers.dev/templates)
140164---
141165
142166# Features
167+
143168Full list here: [ https://containers.dev/features ] ( https://containers.dev/features )
144169
145170- CLIs (azure, gh, gcp, aws)
@@ -148,17 +173,23 @@ Full list here: [https://containers.dev/features](https://containers.dev/feature
148173
149174---
150175
176+ # Configuration Loop
177+
178+ ![ Configuration Loop] ( img/configuration-loop.png )
179+
180+ ---
181+
151182# GitHub Codespaces
152183
153184- Don't need to worry about Docker Desktop
154185- VSCode, IntelliJ, Browser
155- - 2 core machines up to 32 core machines
186+ - From 2 cores up to 16 cores w/ 64GB of RAM
156187- Default universal DevContainers
157188- Codespaces only offers Linux as the OS and x86_64 as the Architecture
158189
159190---
160191
161- # GitHub Codespaces
192+ # GitHub Codespaces Architecture
162193
163194<style scoped >
164195p { text-align : center ; }
@@ -169,16 +200,16 @@ p { text-align: center; }
169200---
170201
171202# DEMO TIME
203+
172204![ bg right 70%] ( img/connected-to-dev-container.png )
173205
174206---
175207
176208![ bg] ( img/questions.jpg )
177209
178-
179210---
180211
181- # Resources
212+ # Resources
182213
183214<div class =" columns " >
184215<div >
@@ -194,10 +225,10 @@ p { text-align: center; }
194225</div >
195226<div >
196227
197- ## Chris Ayers
228+ ## Chris Ayers
198229
199230<i class =" fa-brands fa-twitter " ></i > Twitter: @Chris \_ L\_ Ayers
200- <i class =" fa-brands fa-mastodon " ></i > Mastodon: @Chrisayers @hachyderm.io
231+ <i class =" fa-brands fa-mastodon " ></i > Mastodon: [ @Chrisayers @hachyderm.io] ( https://hachyderm.io/@Chrisayers )
201232<i class =" fa-brands fa-linkedin " ></i > LinkedIn: - [ chris\- l\- ayers] ( https://linkedin.com/in/chris-l-ayers/ )
202233<i class =" fa fa-window-maximize " ></i > Blog: [ https://chris-ayers\.com/ ] ( https://chris-ayers.com/ )
203234<i class =" fa-brands fa-github " ></i > GitHub: [ Codebytes] ( https://github.com/codebytes )
0 commit comments