Introduction to Docker

Introduction to Docker

I started my journey with containers around 18 months ago, and I felt a bit late to the game. By this time the technology & the community were quite mature. I would attend conferences like DDD and most of the Docker/Container sessions were covering intermediate or advanced topics, whereas I was more interested in seeing a ‘Docker 101’ session. My aim for this, is for it to be the session I wish I had been able to see.

This session will be an introduction to Docker & Containers. I will cover the history of containers & the problems they were created to combat. My session will start with a few slides on the theory of how containers function, what they are, and crucially, what they aren’t. Then I’ll move to show docker in action. For the demo portion of the session I will walk through some basic scenarios, covering how to create a Dockerfile to wrap a .NET Core application into a Docker image, then create an container based on that image. I will then show how to combine multiple containers together to create a working system, this will consist of the .NET Core application used in the previous demo, with a SQL Server back-end. I will achieve this by using docker-compose to pull the two together.

This will be an introductory session for people who have heard of Docker, but haven’t had a chance to use it themselves. We will cover the key concepts of Images, Containers, Volumes & Networking, and the demo portion will touch on all of these.

69c9bdd85fd5db9c77f2983d7cd6b32c?s=128

RobEarlam

August 10, 2019
Tweet

Transcript

  1. @RobEarlam An Introduction to Docker & Containers Rob Earlam

  2. @RobEarlam COFFEE BY WIFI BY CHILDCARE BY

  3. @RobEarlam Rob Earlam Who am I? https://robearlam.com https://twitter.com/robearlam https://www.linkedin.com/in/rob-earlam/ https://github.com/robearlam

  4. @RobEarlam @RobEarlam Dependencies Environments Upgrades Operating Systems Deployments

  5. @RobEarlam Application Dependencies Libraries Configuration Other @RobEarlam

  6. @RobEarlam @RobEarlam What is a Container? How is a container

    different from a VM?
  7. @RobEarlam Infrastructure Hypervisor Virtual Machine Operating System Application A Virtual

    Machine Operating System Application C Virtual Machine Operating System Application B Infrastructure Host Operating System Docker Application A Application B Application C Application D Application E Application F @RobEarlam Virtual Machines vs Containers
  8. @RobEarlam @RobEarlam Images & Containers Image X abcd1234 xx MB

    abcd1234 xx MB abcd1234 xx MB abcd1234 xx MB Container X abcd1234 xx MB abcd1234 xx MB abcd1234 xx MB abcd1234 xx MB Thin R/W layer
  9. @RobEarlam @RobEarlam Registries https://hub.docker.com/

  10. @RobEarlam https://hub.docker.com Docker Daemon / CLI Local Registry Containers @RobEarlam

    Images, Containers & Registries
  11. @RobEarlam @RobEarlam Docker Daemon / CLI Containers Volumes Local Registry

  12. @RobEarlam Networking @RobEarlam Docker Daemon / CLI Containers Local Registry

  13. @RobEarlam @RobEarlam Docker Daemon / CLI Containers Developer Experience Local

    Registry
  14. @RobEarlam @RobEarlam Conclusion Images Containers Registries Volumes Networking Container vs

    VM Developer Experience
  15. @RobEarlam Questions? https://robearlam.com https://twitter.com/robearlam https://www.linkedin.com/in/rob-earlam/ https://github.com/robearlam