Intro to Docker and Containers

Similar documents
Platform as a Service and Container Clouds

Docker : devops, shared registries, HPC and emerging use cases. François Moreews & Olivier Sallou

Linstantiation of applications. Docker accelerate

Building a Continuous Integration Pipeline with Docker

Intro to Docker for CMS

The Virtualization Practice

How Bigtop Leveraged Docker for Build Automation and One-Click Hadoop Provisioning

Linux & Docker auf Azure

Do Containers fully 'contain' security issues? A closer look at Docker and Warden. By Farshad Abasi,

Cloud Simulator for Scalability Testing

Amazon EC2 Container Service. Developer Guide API Version

Docker on OpenStack. August Author : Nitin Agarwal nitinagarwal3006@gmail.com. Supervisor(s) : Belmiro Moreira

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

The Definitive Guide To Docker Containers

Using Docker in Cloud Networks

Docker Containers. Marko Ambrož, Žiga Hudolin Ministrstvo za javno upravo DIREKTORAT ZA INFORMATIKO

WHITEPAPER INTRODUCTION TO CONTAINER SECURITY. Introduction to Container Security

Chris Rosen, Technical Product Manager for IBM Containers, Lin Sun, Senior Software Engineer for IBM Containers,

Secure your Docker images

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

What new with Informix Software as a Service and Bluemix? Brian Hughes IBM

A lap around Team Foundation Server 2015 en Visual Studio 2015

Working with Docker on Microsoft Azure

A curated Domain centric shared Docker registry linked to the Galaxy toolshed

RED HAT CONTAINER STRATEGY

ISLET: Jon Schipp, Ohio Linux Fest An Attempt to Improve Linux-based Software Training

STRATEGIC WHITE PAPER. The next step in server virtualization: How containers are changing the cloud and application landscape

UTILIZING THE PORTABILITY OF DOCKER TO DESIGN A PORTABLE AND SCALABLE CONTINUOUS INTEGRATION STACK

Business Con*nuity with Docker

System Structures. Services Interface Structure

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Getting Started Using Project Photon on VMware Fusion/Workstation

Example of Standard API

Agenda. Success Stories with OpenShift. 11:15-11:45 am. OpenShift Tech Overview 9:40-10:30 am. Red Hat Mobile on OpenShift 10:45-11:15 am

Modern App Architecture for the Enterprise Delivering agility, portability and control with Docker Containers as a Service (CaaS)

Automating Big Data Benchmarking for Different Architectures with ALOJA

Building a Kubernetes Cluster with Ansible. Patrick Galbraith, ATG Cloud Computing Expo, NYC, May 2016

Use Cases for Docker in Enterprise Linux Environment CloudOpen North America, 2014 Linda Wang Sr. Software Engineering Manager Red Hat, Inc.

IBM DB2 for Linux, UNIX, and Windows. Deploying IBM DB2 Express-C with PHP on Ubuntu Linux

Type-C Ubuntu Product & Strategy Canonical Ltd.

What Does Tequila Have to Do with Managing Macs? Using Open Source Tools to Manage Mac OS in the Enterprise!

The Bro Network Security Monitor

Continuous Integration and Delivery. manage development build deploy / release

Cross-Platform ASP.NET 5 For the Cloud. Anthony Sneed

User Manual of the Pre-built Ubuntu 9 Virutal Machine

Modern Application Architecture for the Enterprise

Cisco Application-Centric Infrastructure (ACI) and Linux Containers

Introduction to CloudScript

Dry Dock Documentation

deploying meteor with meteor up

Distributed Scheduling with Apache Mesos in the Cloud. PhillyETE - April, 2015 Diptanu Gon

Deploy Your First CF App on Azure with Template and Service Broker. Thomas Shao, Rita Zhang, Bin Xia Microsoft Azure Team

Xen Cloud Platform Update

Enterprise-level EE: Uptime, Speed, and Scale

Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)

Data Centers and Cloud Computing

Azure Day Application Development

Rebuild Perfume With Python and PyPI

Lightweight Virtualization: LXC Best Practices

Docker on AWS. Running Containers in the Cloud. Brandon Chavis Solutions Architect Thomas Jones Solutions Architect. April 2015

Developer support in a federated Platform-as-a-Service environment

Options in Open Source Virtualization and Cloud Computing. Andrew Hadinyoto Republic Polytechnic

How to Install Multicraft on a VPS or Dedicated Server (Ubuntu bit)

Lightweight Virtualization with Linux Containers (LXC)

Continuous Integration using Docker & Jenkins

Oracle Cloud Storage and File system

Join the Lean Wave. Asanka Abeysinghe Director, Solutions Architecture. WSO2, Inc. Friday, July 22, 11

CS197U: A Hands on Introduction to Unix

Getting Started Hacking on OpenNebula

Hadoop on OpenStack Cloud. Dmitry Mescheryakov Software

Continuous Integration for XML and RDF Data

An Introduction to Mercurial Version Control Software

The QEMU/KVM Hypervisor

Ryu SDN Framework What weʼ ve learned Where weʼ ll go

DevOps with Containers. for Microservices

Oracle Linux Advanced Administration

CONTINUOUS DEPLOYMENT WITH SINGULARITY

How To Install Project Photon On Vsphere 5.5 & 6.0 (Vmware Vspher) With Docker (Virtual) On Linux (Amd64) On A Ubuntu Vspheon Vspheres 5.4

Next Generation Now: Red Hat Enterprise Linux 6 Virtualization A Unique Cloud Approach. Jeff Ruby Channel Manager jruby@redhat.com

Containers, Docker, and Security: State of the Union

A Sumo Logic White Paper. Harnessing Continuous Intelligence to Enable the Modern DevOps Team

GestióIP IPAM v3.0 IP address management software Installation Guide v0.1

OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect

Introducing. Cathal McGloin, VP & General Manager, Mobile Platforms Javier Perez, Director of Product Management and Global Consulting

WHITE PAPER Redefining Monitoring for Today s Modern IT Infrastructures

Tcl and Cloud Computing Automation

Gregory PaaS team

APPLICATION VIRTUALIZATION TECHNOLOGIES WHITEPAPER

PHP on IBM i: What s New with Zend Server 5 for IBM i

Transcription:

Contain Yourself Intro to Docker and Containers

Nicola Kabar @nicolakabar nicola@docker.com Solutions Architect at Docker Help Customers Design Solutions based on Docker <3 Python, RESTful APIs, Containers Mano Marks @ManoMarks mano@docker.com Developer Relations Director at Docker Help Developers use Docker <3 Geographic Information Systems, Mobile, and Containers

Agenda Background Info What is Docker? How Does Docker Work? Docker In Action (Demo!) Why Docker? Getting Started Q/A

Let's start with some history...

Traditional Architecture (pre-2000) One Server = One Application Single Stack = Single Language More compute = More servers Expensive, Slow, Inefficient

Virtualization (2000s) One Server = Multiple VMs = Multiple Stacks = Multiple Applications More compute = More VMs 10s of VMs per Server Enabled Cloud Computing

GREAT But it's Complex,Heavy,and Expensive!

Containerization= Operating System Virtualization Lightweight Isolated Runnable Portable New Way to Package Everything that an App needs to run

So What Exactly is Docker? "open platform to easily build,ship,run lightweight, portable, self-sufficient app containers anywhere."

Engine Client Images Containers Registry

Engine Daemon on Host Linux or Windows* Build Images Pull Images Push Images Run Containers Manage Containers HTTP REST API *To Be Supported in Windows Server 2016

Client Use HTTP Installed with Engine Local or Remote Calls GUI vs CLI

Basic Docker Commands $docker version Client: Version: 1.8.2 API version: 1.20 Go version: go1.4.2 Git commit: 0a8c2e3 Built: Thu Sep 10 19:19:00 UTC 2015 OS/Arch: linux/amd64 Server: Version: 1.8.2 API version: 1.20 Go version: go1.4.2 Git commit: 0a8c2e3 Built: Thu Sep 10 19:19:00 UTC 2015 OS/Arch: linux/amd64 $docker info Containers: 15 Images: 220 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 250 Dirperm1 Supported: true Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.19.0-26-generic Operating System: Ubuntu 14.04.3 LTS CPUs: 1 Total Memory: 993.2 MiB Name: dev1 ID: OXRP:6VZL:PLXK:Y7SU:EFEI:2KF5:PILP:UKXH Debug mode (server): true $docker run busybox /bin/sh -c "while true; do echo Hello World; sleep 1; done" Hello World Hello World Hello World Hello World $docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS 04a335b35403 busybox "/bin/sh -c 'while tr" 1 seconds ago Up 1 seconds

Images Read-Only Collection of Files Parent Image Base Image (OS-like) Immutable + Reusable Union File System (UFS)

Containers "VM-like" Run Isolated Processes in Read-Write Layer Created from an Image Copy-On-Write (COW)

How is it Possible? Linux Kernel Features --> Isolation namespaces: pid,user,network,ipc --> What Can You See cgroups: cpu,memory, disk I/O -->What Can you Use UFS + COW --> Speed + Disk Utilization

Building Images Process of creating, altering, and committing containers Three Options: Manual Run + Commit Import tarball Dockerfile docker run -it ubuntu:12.04 root@05bfafc8e5a8:/# apt-get -y install apache2... <snippit>... root@05bfafc8e5a8:/# exit docker commit 05bfafc8e5a8 myimage 1ae55d7aacc0ca202 # A basic Apache+PHP Image FROM ubuntu:12.04 MAINTAINER Nicola Kabar version: 0.1 RUN apt-get update && apt-get install -y apache2 RUN apt-get install -y php5 ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 RUN rm -rf /var/www/* ADD index.php /var/www/ EXPOSE 80 CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"] $docker build -t myimage.

Image Building Process Ubuntu

Registry Image Distribution Cloud Version: Docker Hub (hub.docker.com) Official Images Team Collaboration Workflow Automation

Docker In Action 1. Run a Container 2. Build An Image from Dockerfile 3. Push the Image to Docker Hub 4. Pull the Image from Docker Hub 5. Run a Container from the Image

so why Docker?

Docker Stats Written in Go(lang) Open-sourced in March,2013 (github.com/docker/docker) 1300+ Contributors Docker Jobs Openings 43,000+ (*) 150,000+ Dockerfiles on Github 90,000+ Repositories on Docker Hub 100s of Millions of Images Downloaded Millions of Developers Use It 90+ Official Images *source: indeed.com

Killer Features of Docker Speed Lightweight Reliable Deployment Portability...

Changing Software Architecture

Use Cases Development Testing Production

Docker registry of research algorithms Research reproducibility Standard interface for DNA Analysis

Getting Started with Docker

Installing Docker Engine and Docker Toolbox Linux Mac/PC #ubuntu/debian --> apt-get apt-get install docker-engine #rhel/centos --> yum yum install docker-engine

Plot Twist! Presenting from a Docker Container! $docker run -d -P nicolaka/cs50

Thank you! @nicolakabar @manomarks www..com Slides: $docker run -d -P nicolaka/cs50