"Living" in the container

Who's this guy?

  • Chris Adkins (@Softyy)
  • Web Dev (mostly)
  • Entrepreneur: Dlvvr
  • Dad

What are Dev Containers?

Dev containers are isolated environments that encapsulate all dependencies, tools, and configurations required for a development project.

Benefits of Using Dev Containers

  • Consistent Development Environments
  • Simplified Onboarding
  • Isolation of Development Environments
  • Integration with CI/CD Pipelines
  • Cross-platform Development
  • Remote Development (e.g. Codespaces)

Key Features

  • There's a great cli
  • You get your ci setup for free
  • VS, VS Code, and IntelliJ have good extensions
  • (It's the killer feature in VS Code imo)
  • Great for trying new langs

Setting Up a Dev Container


            {
                "name": "Debian w/ Ruby",
                "image": "mcr.microsoft.com/devcontainers/base:bullseye",
                "features": {
                    "ghcr.io/devcontainers/features/ruby:1": {
                        "version": "3.1"
                    }
                }
            }
            
Features

            {
                "name": "Ubuntu w/ Python",
                "image": "ubuntu:latest",
                "features": {
                    "ghcr.io/devcontainers/features/python:1": {
                        "version": "3.12"
                    }
                }
            }
            

Let's take a quick peek at some more complex examples.

Devcontainer Demo

But wait, there's more.

Q&A

  • f ~ fullscreen
  • o ~ navigation view
  • arrow keys ~ navigation

Slides Powered by reveal-logo