introduction to docker
TRANSCRIPT
![Page 1: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/1.jpg)
Introduction to Docker
![Page 2: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/2.jpg)
@botchagalupe
• a.k.a. John Willis
• 35 Years in IT Operations
• Exxon, Canonical, Chef, Enstratius, Socketplane
• Devopsdays Core Organizer
![Page 3: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/3.jpg)
Agenda• Part 1 (Overview)!
• Why Docker?!
• Docker Platform!
• Docker Solutions!
• Part 2 (Docker and Devops)!
• Part 3 (Demos)!
• Docker Installation!
• Docker (Basic Image) Workflow!
• Docker (Build) Workflow!
• Docker (Volumes) Workflow!
• Docker Networking
![Page 4: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/4.jpg)
Docker Blog
![Page 5: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/5.jpg)
Why Docker?• Isolation
• Lightweight
• Simplicity
• Workflow
• Community
![Page 6: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/6.jpg)
Killer Apps
• Local Application Development and Test
• CI/CD
• Containers as a Service
• Build your own Pass
![Page 7: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/7.jpg)
Docker Community• 21,500+ GitHub stars
• 400M+ Docker Engine downloads
• 100,000+ "Dockerized" applications in the Docker Hub Registry
• 180+ Docker Meetup Groups in 50 countries
• 150,000 live apps are running off Docker
• 930+ community contributors
• 3 to 4 Million - Developers using Docker
• 50,000 third-party projects on GitHub using Docker as well as partnerships spanning PaaS, operating systems, hosting services, CI platforms, and more.
• Over 100 user-generated case studies available from companies such as eBay, Rackspace, New Relic, Gilt, Spotify, Cloudflare, Yandex, Cambridge Healthcare, Yelp and RelatelQ.
![Page 8: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/8.jpg)
![Page 9: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/9.jpg)
Docker Engine
• Docker Daemon
• Docker CLI
![Page 10: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/10.jpg)
Docker Daemon
• Builds Images
• Runs and Manages Containers
• RESTful API
![Page 11: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/11.jpg)
Docker CLI• docker build # Build an image from a Dockerfile
• docker images # List all images on a Docker host
• docker run # Run an image
• docker ps # List all running and stopped instances
• docker stop # Stop a running instances
• docker rm # Remove an instance
• docker rmi # Remove an image
![Page 12: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/12.jpg)
Docker Architecture
![Page 13: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/13.jpg)
Docker Platform Workflow (Volumes)
![Page 14: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/14.jpg)
Docker Hub• Provides Docker Services
• Library of public images
• Storage for your images
• free for public images
• cost for private images
• Automated builds(link github/bitbucket repo; trigger build on commit)
![Page 15: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/15.jpg)
Docker Hub
![Page 16: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/16.jpg)
Docker Solutions• Docker Compose
• Docker Machine
• Docker Swarm
• Kitematic
• Docker Networking
• Docker Trusted Registry
![Page 17: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/17.jpg)
Docker Compose
![Page 18: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/18.jpg)
Docker Machine
• Install Docker on a Host
• Starting, stopping, restarting the Docker Engine
• Upgrading Docker on a Host
• Configuring the Docker client to talk to your host (TLS)
![Page 19: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/19.jpg)
Docker Swarm
• Discovery Services
• Advanced Scheduling
• API
![Page 20: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/20.jpg)
Docker Networking
![Page 21: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/21.jpg)
Docker Networking
“We'll do for Networking, What Docker did for Compute.”
![Page 22: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/22.jpg)
Docker Networking• Make “network” & “service” as top-level objects
!
• Provide a pluggable networking stack
!
• Span networks across multiple hosts
!
• Support multiple platforms
![Page 23: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/23.jpg)
Container Network Model (CNM)• Endpoint
!
• Network
!
• Sandbox
![Page 24: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/24.jpg)
Libnetwork
• Open Sourced in April
!
• Over 200 Pull Requests
!
• Over 200 GitHub Stars
!
• Windows and FreeBSD ports in progress
![Page 25: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/25.jpg)
![Page 26: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/26.jpg)
Part 2
![Page 27: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/27.jpg)
Docker and Devops
![Page 28: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/28.jpg)
Docker and Devops
![Page 29: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/29.jpg)
Docker and Devops
• Velocity
• Variation
• Visualization
![Page 30: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/30.jpg)
Part 3
![Page 31: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/31.jpg)
Docker Installation
![Page 32: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/32.jpg)
Docker Installation
![Page 33: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/33.jpg)
Docker Installation
![Page 34: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/34.jpg)
![Page 35: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/35.jpg)
Demo
![Page 36: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/36.jpg)
Docker Run Commands
![Page 37: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/37.jpg)
Docker Platform Workflow (Build Images)
• Build a Local Image
• Run an Image on Docker Host
![Page 38: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/38.jpg)
![Page 39: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/39.jpg)
Demo
![Page 40: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/40.jpg)
Docker Build
![Page 41: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/41.jpg)
Docker Platform Workflow (Volumes)
• Using Volumes
• Mounting Docker Host Volumes
![Page 42: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/42.jpg)
Docker Platform Workflow (Volumes)
![Page 43: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/43.jpg)
![Page 44: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/44.jpg)
Demo
![Page 45: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/45.jpg)
Docker Volumes
![Page 46: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/46.jpg)
Docker Networking
![Page 47: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/47.jpg)
Docker Networking
![Page 48: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/48.jpg)
Docker Networking
![Page 49: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/49.jpg)
Docker Networking
![Page 50: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/50.jpg)
Docker Networking
![Page 51: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/51.jpg)
Docker Networking• Weave
• Flannel
• Calico
• Triton
• Socketplane
![Page 52: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/52.jpg)
Docker Networking
![Page 53: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/53.jpg)
Docker Networking• Container Network Model (or CNM)
• Notion of a Default Network
• Default Multi-Host Data-path for CNM
• Network API
• Docker Network CLI
![Page 54: Introduction to docker](https://reader034.vdocuments.site/reader034/viewer/2022042818/55c378d3bb61ebec198b4831/html5/thumbnails/54.jpg)
ReferencesWHY I LOVE DOCKER… AND WHY YOU’LL LOVE IT TOO!https://blog.docker.com/2015/03/why-i-love-docker-and-why-youll-love-it-too/!!DOCKER TUTORIAL 1 – INSTALLING DOCKER!https://blog.docker.com/2015/03/docker-tutorial-1-installing-docker/!!DOCKER TUTORIAL 2 – DOCKER RUN COMMAND BASICS!https://blog.docker.com/2015/03/docker-tutorial-2-docker-run-command-basics/!!DOCKER TUTORIAL 3 – FUN WITH VOLUMES!https://blog.docker.com/2015/04/docker-tutorial-3-fun-with-volumes/!!DOCKER TUTORIAL 4 – MORE RUN WITH A COUPLE OF EXTRA GOODIES!https://blog.docker.com/2015/04/docker-tutorial-4-more-run-with-a-couple-of-extra-goodies/!!DOCKER TUTORIAL 6 – DOCKERFILE (PART 1)!https://blog.docker.com/2015/04/docker-tutorial-6-dockerfile-part-1/!!DOCKER TUTORIAL 7 – DOCKERFILE (PART 2)!https://blog.docker.com/2015/04/docker-tutorial-7-dockerfile-part-2/