Introduction to Docker

Slides:



Advertisements
Similar presentations
Kat Passen.  Open source platform to manage deployment  Acts as a layer between an OS and an application  Images not dependent on system – similar.
Advertisements

Build Test Integrat e Deploy Develop Languages Frameworks Cloud and Infra Data platforms.
Docker Martin Meyer Agenda What is Docker? –Docker vs. Virtual Machine –History, Status, Run Platforms –Hello World Images and Containers.
Docker Martin Meyer Agenda What is Docker? –Docker vs. Virtual Machine –History, Status, Run Platforms Hello World Terminology: Image and.
Windows Azure Conference 2014 Running Docker on Windows Azure.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
GAAIN Virtual Appliances: Virtual Machine Technology for Scientific Data Analysis Arihant Patawari USC Stevens Neuroimaging and Informatics Institute July.
Agenda Azure and Open source Introduction to Containers and Docker. Docker on Azure CoreOS and Why Get Started on Docker.
#msitconf. Damien Caro Technical Evangelist Manager, Что будет, если приложение поместить в контейнер? What happens if the application.
Alfresco deployment with Docker Andrea Agili Software Engineer – Dr Wolf srl Tommaso Visconti DevOps – Dr Wolf srl.
Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
Intro to Docker Containers
Microsoft Build /9/2017 5:00 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Getting & Running EdgeX Docker Containers
Intro to Docker Containers
Global Azure Bootcamp 2017 Linz, Austria
Building ARM IaaS Application Environment
INTRO TO Presenter: PhuongNQK.
Containers as a Service with Docker to Extend an Open Platform
Fundamentals Sunny Sharma Microsoft
Dockerize OpenEdge Srinivasa Rao Nalla.
Windows Containers Taylor Brown Principal Lead Program Manager
Docker and Azure Container Service
Containers: The new network endpoint
Docker Birthday #3.
Intro to Docker Containers
SQL Server Containers: End-to-End
Docker in Action.
In-Depth Introduction to Docker
Docker – kontejnerizacija na serveru Vedran Vučetić, SPAN
Deploying Hybrid-OS Applications with Docker EE
Containers and Virtualisation
ASP.NET in Linux and Windows containers
Andrew Pruski SQL Server & Containers
Containers in HPC By Raja.
Drupal VM and Docker4Drupal For Drupal Development Platform
Windows Server & Hyper-V Containers Vaggelis Kappas
Microsoft Connect /18/ :32 PM
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
Azhagappan Arunachalam
Using docker containers
Azure Container Instances
Oracle DB and Docker Get Your Dockerized Oracle Sandbox Running in the Cloud or On- Premises Martin Knazovicky Dbvisit Software.
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Intro to Docker Containers and Orchestration in the Cloud
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Developing for the cloud with Visual Studio
Intro about Contanier and Docker Technology
12/5/ :36 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Learn. Imagine. Build. .NET Conf
Orchestration & Container Management in EGI FedCloud
Docker, Drupal and Persistence
Openstack-alapú privát felhő üzemeltetés
OpenShift vs. Vanilla k8s on OpenStack IaaS
SCONE: Secure Linux Containers Environments with Intel SGX
Docker Some slides from Martin Meyer Vagrant Box:
CloudOpting - Hackathon
DevOps in action The next level of virtualization
Introduction to Docker
Architecture Agnostic Docker Build Systems
Azure Container Service
Abel Sanchez, John Williams
Container technology, Microservices, and DevOps
Container technology, Microservices, and DevOps
Azure App Service Web App for Containers
Docker for DBAs SQL Saturday 8/17/2019.
Containers on Azure Peter Lasne Sr. Software Development Engineer
SQL Server on Containers
Presentation transcript:

Introduction to Docker Alexander González {Microsoft Student Partner} alexander.gonzalez@studentpartner.com

Agenda Section 1: What is Docker What is Docker Not Basic Docker Commands Dockerfiles Section 3: Networking Section 2: Anatomy of a Docker image Docker volumes Section 4: Docker compose / stacks Demo

FIRST OF ALL! App A App A Maquina programador/Entorno desarrollo Servidor/Entorno producción

Section 1: What is Docker Basic Docker Commands Dockerfiles

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

The Role of Images and Containers Docker Image Docker Container Example: Ubuntu with Node.js and Application Code Created by using an image. Runs your application.

Docker containers are NOT VMs Easy connection to make Fundamentally different architectures Fundamentally different benefits Maquina Virtual Contenedores 7

Docker Containers Versus Virtual Machines App 1 App 2 Bins/Libs Bins/Libs Guest OS Guest OS App 1 App 2 Bins/Libs Bins/Libs Hypervisor Docker Engine Host Operating System Host Operating System Virtual Machines Docker Containers

Lightweight, open, secure platform Simplify building, shipping, running apps What Is Docker? Runs natively on Linux or Windows Server Runs on Windows or Mac Development machines (with a virtual machine) Relies on "images" and "containers"

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

Some Docker vocabulary 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 Registry Service (Docker Hub(Public) or Docker Trusted Registry(Private)) Cloud or server based storage and distribution service for your images

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

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

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

Let’s Go Back to Our Dockerfile

Each Dockerfile Command Creates a Layer … EXPOSE COPY WORKDIR RUN FROM Kernel

Docker Image Pull: Pulls Layers

Docker Volumes Volumes mount a directory on the host into the container at a specific location 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

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

Section 3: Networking

What is Docker Bridge Networking Docker host Docker host Cntnr 1 Cntnr 2 Cntnr 3 Cntnr 4 Cntnr 5 Cntnr 6 Cntnr 7 bridgenet1 bridgenet2 bridgenet3 docker network create -d bridge --name bridgenet1

Docker Bridge Networking and Port Mapping Docker host 1 Host port Container port Cntnr1 10.0.0.8 :80 $ docker container run -p 8080:80 ... Bridge 172.14.3.55 :8080 L2/L3 physical network

Section 4: Docker Compose

Docker Compose: Multi Container Applications Build and run one container at a time Manually connect containers together Must be careful with dependencies and start up order Define multi container app in compose.yml file Single command to deploy entire app Handles container dependencies Works with Docker Swarm, Networking, Volumes, Universal Control Plane 49

Docker Compose: Multi Container Applications version: '2' # specify docker-compose version # Define the services/containers to be run services: angular: # name of the first service build: client # specify the directory of the Dockerfile ports: - "4200:4200" # specify port forewarding express: #name of the second service build: api # specify the directory of the Dockerfile - "3977:3977" #specify ports forewarding database: # name of the third service image: mongo # specify image to build container from - "27017:27017" # specify port forewarding

Docker Compose: Scale Container Applications

Demo Angular Node.js/Express Mongo DB