Docker 101 Workshop. Eric Smalling - Solution Architect, Docker

Similar documents
Best Practices for Developing & Deploying Java Applications with Docker

[Docker] Containerization

Deployment Patterns using Docker and Chef

Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING

Docker II - Judgement Day

CNA1699BU Running Docker on your Existing Infrastructure with vsphere Integrated Containers Martijn Baecke Patrick Daigle VMworld 2017 Content: Not fo

A Hands on Introduction to Docker

VMworld 2017 Content: Not for publication #CNA1699BE CONFIDENTIAL 2

Merging Enterprise Applications with Docker* Container Technology

Think Small to Scale Big

Docker und IBM Digital Experience in Docker Container

Getting Started With Containers

Container-based virtualization: Docker

What s Up Docker. Presented by Robert Sordillo Avada Software

Introduction to containers

Who is Docker and how he can help us? Heino Talvik

Table of Contents 1.1. Introduction. Overview of vsphere Integrated Containers 1.2

Fixing the "It works on my machine!" Problem with Docker

Running Splunk Enterprise within Docker

Welcome to Docker Birthday # Docker Birthday events (list available at Docker.Party) RSVPs 600 mentors Big thanks to our global partners:

Table of Contents 1.1. Overview. Containers, Docker, Registries vsphere Integrated Containers Engine

Run containerized applications from pre-existing images stored in a centralized registry

Code: Slides:

SQL Server inside a docker container. Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

Building Your First SQL Server Container Lab in Docker

ViryaOS RFC: Secure Containers for Embedded and IoT. A proposal for a new Xen Project sub-project

Container in Production : Openshift 구축사례로 이해하는 PaaS. Jongjin Lim Specialist Solution Architect, AppDev

Introduction to Containers

An introduction to Docker

IBM Bluemix compute capabilities IBM Corporation

LSST software stack and deployment on other architectures. William O Mullane for Andy Connolly with material from Owen Boberg

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

@joerg_schad Nightmares of a Container Orchestration System

Investigating Containers for Future Services and User Application Support

Docker for People. A brief and fairly painless introduction to Docker. Friday, November 17 th 11:00-11:45

DGX-1 DOCKER USER GUIDE Josh Park Senior Solutions Architect Contents created by Jack Han Solutions Architect

Docker and Security. September 28, 2017 VASCAN Michael Irwin

DevOps Workflow. From 0 to kube in 60 min. Christian Kniep, v Technical Account Manager, Docker Inc.

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV

Harbor Registry. VMware VMware Inc. All rights reserved.

Container-Native Storage

Flip the Switch to Container-based Clouds

ovirt and Docker Integration

Faculté Polytechnique

DOCKER 101 FOR JS AFFICIONADOS. Christian Ulbrich, Zalari UG

Developing Enterprise Cloud Solutions with Azure

containerization: more than the new virtualization

How to Put Your AF Server into a Container

TECHNICAL BRIEF. Scheduling and Orchestration of Heterogeneous Docker-Based IT Landscapes. January 2017 Version 2.0 For Public Use

Important DevOps Technologies (3+2+3days) for Deployment

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

A DEVOPS STATE OF MIND WITH DOCKER AND KUBERNETES. Chris Van Tuin Chief Technologist, West

Index. Bessel function, 51 Big data, 1. Cloud-based version-control system, 226 Containerization, 30 application, 32 virtualize processes, 30 31

Docker DCA EXAM. m/ Product: Demo. For More Information: Docker Certified Associate

Arup Nanda VP, Data Services Priceline.com

Logging, Monitoring, and Alerting

UP! TO DOCKER PAAS. Ming

Application of Virtualization Technologies & CernVM. Benedikt Hegner CERN

SQL Server Containers for Developers. Julie Lerman

Shifter at CSCS Docker Containers for HPC

GETTING STARTED WITH WINDOWS CONTAINERS, DOCKER AND AZURE

Getting Started with Hadoop

Red Hat Roadmap for Containers and DevOps

Travis Cardwell Technical Meeting

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Kuber-what?! Learn about Kubernetes

Deploying and Operating Cloud Native.NET apps

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

UNNATI Development and Training Center Pvt. Ltd.

Murray Goldschmidt. Chief Operating Officer Sense of Security Pty Ltd. Micro Services, Containers and Serverless PaaS Web Apps? How safe are you?

[MS20533]: Implementing Microsoft Azure Infrastructure Solutions

Rok: Decentralized storage for the cloud native world

Learn. Connect. Explore.

Getting Started With Amazon EC2 Container Service

Implementing Microsoft Azure Infrastructure Solutions (20533)

Cloud providers, tools and best practices in running Magento on Kubernetes. Adrian Balcan MindMagnet Software

HPC Cloud Burst Using Docker

RED HAT'S CONTAINER STRATEGY. Lars Herrmann General Manager, RHEL, RHEV and Containers June 24, 2015

At Course Completion Prepares you as per certification requirements for AWS Developer Associate.

Introduction to Docker. Antonis Kalipetis Docker Athens Meetup

Docker CaaS. Sandor Klein VP EMEA

MQ High Availability and Disaster Recovery Implementation scenarios

Containers & Microservices For Realists. Karthik

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

One year of Deploying Applications for Docker, CoreOS, Kubernetes and Co.

VMWARE PIVOTAL CONTAINER SERVICE

OPEN-O DevOps Practice with Automation Toolchain

Docker Universal Control Plane Deploy and Manage On-Premises, Your Dockerized Distributed Applications

Azure Certification BootCamp for Exam (Developer)

P a g e 1. Teknologisk Institut. Online kursus k SysAdmin & DevOps Collection

It s probably the most popular containerization technology on Linux these days

The Post-Cloud. Where Google, DevOps, and Docker Converge

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

Infrastructure at your Service. Oracle over Docker. Oracle over Docker

Multi-Cloud and Application Centric Modeling, Deployment and Management with Cisco CloudCenter (CliQr)

docker & HEP: containerization of applications for development, distribution and preservation

Docker and Oracle Everything You Wanted To Know

Transcription:

Docker 101 Workshop Eric Smalling - Solution Architect, Docker Inc. @ericsmalling

Who Am I? Eric Smalling Solution Architect Docker Customer Success Team ~25 years in software development, architecture, version control admin, etc ~10 years in build & test automation Docker user since pre-1.0 days 2

Agenda Section 1: (One Hour) Section 2: (30 minutes) What is Docker / What is Docker Not Anatomy of a Docker image Basic Docker Commands Docker volumes Dockerfiles Volume use cases Hands On Exercises Hands On Exercises Break (15 minutes)

Before we get started Make sure you can get to these sites: https://github.com/ericsmalling/docker101-linux http://labs.play-with-docker.com/ 4

Section 1: What is Docker Basic Docker Commands Dockerfiles

Docker containers are NOT VMs Easy connection to make Fundamentally different architectures Fundamentally different benefits 6

VMs 7

Containers 8

What is a container? Standardized packaging for software and dependencies Isolate apps from each other Share the same OS kernel Works for all major Linux distributions Containers native to Windows Server 2016

They re different, not mutually exclusive 10

Using Docker: Build, Ship, Run Workflow IT Operations Developers 11 BUILD SHIP RUN Development Environments Create & Store Images Deploy, Manage, Scale

Some Docker vocabulary Docker Trusted Registry: Storage and distribution service for your images Docker Universal Control Plane: Web-based management CaaS platform Docker Image: The basis of a Docker container. Represents a full application Docker Container: The standard unit in which the application service resides and executes Docker Engine: Creates, ships and runs Docker containers deployable on a physical or virtual, host locally, in a datacenter or cloud service provider Service: An application (or part of an application) that provides a specific function (catalog lookup, web front end, payment processing) Stack: A way of representing multi-service applications. Made up of 1-n services 12

Basic Docker Commands $ docker image pull mikegcoleman/catweb:latest $ docker image ls $ docker container run d p 5000:5000 -name catweb mikegcoleman/catweb:latest $ docker container ps $ docker container stop catweb (or <container id>) $ docker container rm catweb (or <container id>) $ docker image rm mikegcoleman/catweb:latest (or <image id>) $ docker build t mikegcoleman/catweb:2.0. $ docker image push mikegcoleman/catweb:2.0

Dockerfile Linux Example Instructions on how to build a Docker image Looks very similar to native commands Important to optimize your Dockerfile 14

Dockerfile Windows Example

Hands On Exercises Running Basic Docker Images Building a Website with A Dockerfile http://labs.play-with-docker.com https://github.com/ericsmalling/docker101-linux

Section 2: Anatomy of a Docker Container Docker Volumes Volume Use Cases

Let s Go Back to Our Dockerfile 18

Each Dockerfile Command Creates a Layer Install Requirements Copy Requirements Upgrade Pip Install Python and Pip Alpine Linux Kernel 19

Docker Image Pull: Pulls Layers 20

Layers on the Physical Disk Logical file system by grouping different file system primitives into branches (directories, file systems, subvolumes, snapshots) Each branch represents a layer in a Docker image Containers will share common layers on the host Allows images to be constructed / deconstructed as needed vs. a huge monolithic image (ala traditional virtual machines) When a container is started a writeable layer is added to the top of the file system 21

Copy on Write Super efficient: Sub second instantiation times for containers New container can take <1 Mb of space Containers appears to be a copy of the original image But, it is really just a link to the original shared image If someone writes a change to the file system, a copy of the affected file/directory is copied up 22

Docker Volumes Volumes mount a directory on the host into the container at a specific location $ docker volume create hello hello $ docker run -d -v hello:/world busybox ls /world Can be used to share (and persist) data between containers Directory persists after the container is deleted Unless you explicitly delete it Can be created in a Dockerfile or via CLI 23

Why Use Volumes Mount local source code into a running container docker container run -v $(pwd):/usr/src/app/ mikegcoleman/catweb Improve performance As directory structures get complicated traversing the tree can slow system performance Data persistence 24

Hands On Exercises (and Break) Modifying a Running Container Pushing Images to Docker Hub http://labs.play-with-docker.com https://github.com/ericsmalling/docker101-linux

More resources Official training resources from Docker: https://training.docker.com Self paced link will take you to more hands-on-labs Instructor led courses available Docker production documentation: https://docs.docker.com/ Docker Certified Associate Program: https://success.docker.com/certification 26