SlideShare a Scribd company logo
Docker介紹& SC14 
Speaker:高魁良 
Date:2014/12/4 
@新竹碼農
About Me 
• Quey-Liang Kao 
• Ph.D. Student 
– SCOPE Lab, NTHU 
– Advisor: Che-Rung Lee 
• Research Interests 
– Parallel Computing 
– GPGPU
About This Project 
• Experimental project with Dr. Chung and 
Dr. Seelam in IBM Research 
• Testing & benchmarking on HPC 
clusters 
• Since this July 
• A poster at “Emerging Tech” session 
of SC14 
• Still ongoing
Outline 
• Brief History of Docker 
• Basic Docker Tutorial / Use Case 
• HPC on Docker 
• SC14 @ New Orleans, LA
Who 
When 
Why 
HISTORY
Before March 2013 
• A private project in dotCloud 
– A PaaS company 
– For internal use as an infrastructure
March 2013 
• dotCloud released docker on github 
• Written in Go 
• 0.1.0
Sep 2013 [4] 
• Merged into Openstack 
• Partnership announced by Red Hat 
• 0.6.3
Aug 2014 
• Docker, Inc. sold dotCloud to 
cloudControl [2] 
– Another PaaS company 
– “We want to concentrate on Docker”
Feb 2014 
• Mac OS X support 
• 0.8
Apr 2014 
• Amazon provided the service of docker 
containers [6]
Jun 2014 
• DokcerCon @ San Francisco
Oct 2014 
• Windows server, 7.1, and 8 support [5] 
• I started to learn docker
Nov 2014 
• Docker Global Hack Day #2 
– Global Winner is in Taiwan! [8] 
• 1.3
Why? 
• As promising as java and git [1] 
– “Write Once. Run Anywhere.” 
– “Tiny footprint with lightning fast performance” 
• Speed up deployment 
• Eco system 
– cloudControl, PaaS companies 
– Red Hat, Microsoft, … 
– Amazon 
– etc.
What is Docker exactly? [12] 
• Docker is a powerful tool to do with 
containers and images 
• What is container? 
– Linux Container 
– kernel feature: cgroup, namespace 
– OS-level virtualization 
• What is image? 
– Which provides the content of file systems 
for containers
Install & Run [7] 
Manipulate Images [7] 
Manipulate Containers [7] 
TUTORIAL
Install 
• From source: use docker to build docker 
• From pre-built package [9] 
– Depends on your linux distribution 
– Mac, Windows are supported
Run 
• Only one command: docker 
– Both for daemon and CLI 
• Daemon 
– service docker start, or 
– systemctl start docker 
– common argument: -b=bridge0 
• CLI
Manipulate Images 
• docker images 
– view images 
• docker pull/push <image tag> 
– pull/push images from docker hub 
• docker search <keyword> 
– search images matching keyword
Manipulate Images 
• docker rmi <image tag> 
– remove the image 
– if there are containers using this image, 
then this may not work 
• docker rmi $(docker images -q --filter 
"dangling=true") 
– useful combo to eliminate zombie images
Images? Containers? 
Active 
(An Instance) 
Static 
(A Model) 
Operating 
System 
Process Program 
Docker 
Infrastructure 
Container Image
Manipulate Containers 
• docker ps [|-a] 
– check [alive|all] containers 
• docker run -i -t <image> <exec> 
– launch an instance of the image and run the 
executable 
– use ctrl-p ctrl-q to detach 
– add -d argument to run in detach mode 
• docker attach/detach <contID> 
– as the command
Manipulate Containers 
• docker top 
– check running process 
• docker start/stop <ContID> 
– as the command 
• docker rm <ContID> 
– remove the container
Manipulate Containers: 
git-style experience 
• docker commit <contID> <Image> 
– commit changed container to a new image 
• docker diff <contID> 
– comapre the changes of the container to 
original image
Manipulate Containers: 
java-style experience 
• Dockerfile 
– A text file that describes how to build an 
image 
– There have been many public Dockerfiles 
• docker build -t <image> 
<path/to/Dockerfile> 
– build an image according to Dockerfile 
– portable
Running sshd 
USE CASE
Dockerfile for sshd
Environment Setup 
Benchmark: HPL 
HPC ON DOCKER
HPC on Cloud 
• Cloud 
– Isolation 
– Resource control 
– IaaS / Virtualization 
• Containers 
– OS-level Virtualization 
– Light-weighted 
– namespace 
– cgroup
Motivation 
• Examine the performance of container-based 
cluster 
• Experience the cost of deploying 
containers (rather than VMs) 
• Catch up with the trend
Environment Setup 
• Native 
– Four-node cluster, with 24 CPUs each 
• VM 
– Use qemu as the hardware simulator, and 
accelerate with KVM kernel module 
• Container 
– Use docker
Benchmarks 
• HPL(High Performance Linpack) 
– LU decomp. For large matrix 
– Benchmark for Top 500 SuperComputers 
– Measured in G/T/PFLOPs
Benchmarks 
• NPB(NAS Parallel Benchmark) 
– Integer sort 
– Embarrassingly parallel 
– 3D Fourier transform 
– etc. 
• Network, I/O benchmarks 
– not presented here
Conclusion 
• Containers performs well for 
computation-intensive apps 
– since they are processes with namespaces 
• We reproduce some of the experiment 
results of an report from IBM [11]
Future Work 
• IBM side 
– Try their POWER-based 
supercomputers/clusters 
• My side 
– GPU support? (Surveying) 
– Migration? (Surveying) 
– ?
Thank You !! 
^~^
References 
1. http://www.centurylinklabs.com/what-is-docker- 
and-when-to-use-it/ 
2. http://techcrunch.com/2014/08/04/docke 
r-sells-dotcloud-to-cloudcontrol-to-focus- 
on-core-container-business/ 
3. Many Wikipedia pages, e.g. Docker, linux 
containers, cgroups, namespace, etc. 
4. http://www.slideshare.net/dotCloud/dock 
er-resentation-meetupparis
References 
5. http://azure.microsoft.com/blog/2014/10 
/15/new-windows-server-containers-and-azure- 
support-for-docker/ 
6. http://aws.amazon.com/cn/about-aws/ 
whats-new/2014/04/23/aws-elastic-beanstalk- 
adds-docker-support/ 
7. All documents here: 
http://docs.docker.com/ 
8. http://blog.docker.com/2014/11/announc 
ing-docker-global-hack-day-2-winners/
References 
9. https://docs.docker.com/installation/ 
10.http://www.nas.nasa.gov/publications/np 
b.html 
11.An Updated Performance Comparison of 
Virtual Machines and Linux Containers 
12.http://www.slideshare.net/adrianjotto/do 
cker-101-38986794?qid=52aa9f3a-2dd1- 
4b1f-811d-ff0b0f8cc20b& 
v=qf1&b=&from_search= 
6

More Related Content

What's hot

Docker
DockerDocker
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes][HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]
Wong Hoi Sing Edison
 
Kubernetes training
Kubernetes trainingKubernetes training
Kubernetes training
Des Drury
 
Open Datacentre
Open DatacentreOpen Datacentre
Open Datacentre
Des Drury
 
Docker crash course
Docker crash courseDocker crash course
Docker crash course
nispas
 
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
Kubernetes Boulder - Kit Merker - Cloud Native DeploymentKubernetes Boulder - Kit Merker - Cloud Native Deployment
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
Kit Merker
 
A Performance Comparison of Container-based Virtualization Systems for MapRed...
A Performance Comparison of Container-based Virtualization Systems for MapRed...A Performance Comparison of Container-based Virtualization Systems for MapRed...
A Performance Comparison of Container-based Virtualization Systems for MapRed...Marcelo Veiga Neves
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
DataStax Academy
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
Krishna-Kumar
 
Cassandra on Docker
Cassandra on DockerCassandra on Docker
Cassandra on Docker
Instaclustr
 
Docker architecture-04-1
Docker architecture-04-1Docker architecture-04-1
Docker architecture-04-1
Mohammadreza Amini
 
The relationship between Docker, Kubernetes and CRI
The relationship between Docker, Kubernetes and CRIThe relationship between Docker, Kubernetes and CRI
The relationship between Docker, Kubernetes and CRI
HungWei Chiu
 
Wanting distributed volumes - Experiences with ceph-docker
Wanting distributed volumes - Experiences with ceph-dockerWanting distributed volumes - Experiences with ceph-docker
Wanting distributed volumes - Experiences with ceph-docker
Ewout Prangsma
 
Kubernetes kubecon-roundup
Kubernetes kubecon-roundupKubernetes kubecon-roundup
Kubernetes kubecon-roundup
Sebastien Goasguen
 
Terraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCPTerraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCP
Samuel Chow
 
Scaling and Managing Cassandra with docker, CoreOS and Presto
Scaling and Managing Cassandra with docker, CoreOS and PrestoScaling and Managing Cassandra with docker, CoreOS and Presto
Scaling and Managing Cassandra with docker, CoreOS and Presto
Vali-Marius Malinoiu
 
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Lakmal Warusawithana
 
OSDC 2014: Tobias Schwab - Continuous Delivery with Docker
OSDC 2014: Tobias Schwab - Continuous Delivery with Docker OSDC 2014: Tobias Schwab - Continuous Delivery with Docker
OSDC 2014: Tobias Schwab - Continuous Delivery with Docker
NETWAYS
 

What's hot (20)

Docker
DockerDocker
Docker
 
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes][HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]
 
Kubernetes training
Kubernetes trainingKubernetes training
Kubernetes training
 
Open Datacentre
Open DatacentreOpen Datacentre
Open Datacentre
 
Docker crash course
Docker crash courseDocker crash course
Docker crash course
 
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
Kubernetes Boulder - Kit Merker - Cloud Native DeploymentKubernetes Boulder - Kit Merker - Cloud Native Deployment
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
 
dodai grizzly
dodai grizzlydodai grizzly
dodai grizzly
 
A Performance Comparison of Container-based Virtualization Systems for MapRed...
A Performance Comparison of Container-based Virtualization Systems for MapRed...A Performance Comparison of Container-based Virtualization Systems for MapRed...
A Performance Comparison of Container-based Virtualization Systems for MapRed...
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
 
Container orchestration
Container orchestrationContainer orchestration
Container orchestration
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
Cassandra on Docker
Cassandra on DockerCassandra on Docker
Cassandra on Docker
 
Docker architecture-04-1
Docker architecture-04-1Docker architecture-04-1
Docker architecture-04-1
 
The relationship between Docker, Kubernetes and CRI
The relationship between Docker, Kubernetes and CRIThe relationship between Docker, Kubernetes and CRI
The relationship between Docker, Kubernetes and CRI
 
Wanting distributed volumes - Experiences with ceph-docker
Wanting distributed volumes - Experiences with ceph-dockerWanting distributed volumes - Experiences with ceph-docker
Wanting distributed volumes - Experiences with ceph-docker
 
Kubernetes kubecon-roundup
Kubernetes kubecon-roundupKubernetes kubecon-roundup
Kubernetes kubecon-roundup
 
Terraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCPTerraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCP
 
Scaling and Managing Cassandra with docker, CoreOS and Presto
Scaling and Managing Cassandra with docker, CoreOS and PrestoScaling and Managing Cassandra with docker, CoreOS and Presto
Scaling and Managing Cassandra with docker, CoreOS and Presto
 
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
 
OSDC 2014: Tobias Schwab - Continuous Delivery with Docker
OSDC 2014: Tobias Schwab - Continuous Delivery with Docker OSDC 2014: Tobias Schwab - Continuous Delivery with Docker
OSDC 2014: Tobias Schwab - Continuous Delivery with Docker
 

Similar to 141204 upload

Novices guide to docker
Novices guide to dockerNovices guide to docker
Novices guide to docker
Alec Clews
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!
Clarence Bakirtzidis
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
Kumar Ashwin
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
Kumar Ashwin
 
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and PipelinesDocker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Matt Bentley
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
ShapeBlue
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Lucas Jellema
 
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsNordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Travis Wright
 
Java developer intro to environment management with vagrant puppet and docker
Java developer intro to environment management with vagrant puppet and dockerJava developer intro to environment management with vagrant puppet and docker
Java developer intro to environment management with vagrant puppet and docker
Getting value from IoT, Integration and Data Analytics
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSOracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Frank Munz
 
SQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarSQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall Webinar
Travis Wright
 
Dockerizing OpenStack for High Availability
Dockerizing OpenStack for High AvailabilityDockerizing OpenStack for High Availability
Dockerizing OpenStack for High Availability
Daniel Krook
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014
Rafe Colton
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
Docker, Inc.
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Sparkbit
 
Dockerize All The Things
Dockerize All The ThingsDockerize All The Things
Dockerize All The Things
Chris Tankersley
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
Giacomo Vacca
 

Similar to 141204 upload (20)

Novices guide to docker
Novices guide to dockerNovices guide to docker
Novices guide to docker
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
 
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and PipelinesDocker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
 
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsNordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOps
 
Java developer intro to environment management with vagrant puppet and docker
Java developer intro to environment management with vagrant puppet and dockerJava developer intro to environment management with vagrant puppet and docker
Java developer intro to environment management with vagrant puppet and docker
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSOracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
 
SQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarSQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall Webinar
 
Dockerizing OpenStack for High Availability
Dockerizing OpenStack for High AvailabilityDockerizing OpenStack for High Availability
Dockerizing OpenStack for High Availability
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Dockerize All The Things
Dockerize All The ThingsDockerize All The Things
Dockerize All The Things
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 

Recently uploaded

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 

Recently uploaded (20)

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 

141204 upload

  • 1. Docker介紹& SC14 Speaker:高魁良 Date:2014/12/4 @新竹碼農
  • 2. About Me • Quey-Liang Kao • Ph.D. Student – SCOPE Lab, NTHU – Advisor: Che-Rung Lee • Research Interests – Parallel Computing – GPGPU
  • 3. About This Project • Experimental project with Dr. Chung and Dr. Seelam in IBM Research • Testing & benchmarking on HPC clusters • Since this July • A poster at “Emerging Tech” session of SC14 • Still ongoing
  • 4. Outline • Brief History of Docker • Basic Docker Tutorial / Use Case • HPC on Docker • SC14 @ New Orleans, LA
  • 5. Who When Why HISTORY
  • 6. Before March 2013 • A private project in dotCloud – A PaaS company – For internal use as an infrastructure
  • 7. March 2013 • dotCloud released docker on github • Written in Go • 0.1.0
  • 8. Sep 2013 [4] • Merged into Openstack • Partnership announced by Red Hat • 0.6.3
  • 9. Aug 2014 • Docker, Inc. sold dotCloud to cloudControl [2] – Another PaaS company – “We want to concentrate on Docker”
  • 10. Feb 2014 • Mac OS X support • 0.8
  • 11. Apr 2014 • Amazon provided the service of docker containers [6]
  • 12. Jun 2014 • DokcerCon @ San Francisco
  • 13. Oct 2014 • Windows server, 7.1, and 8 support [5] • I started to learn docker
  • 14. Nov 2014 • Docker Global Hack Day #2 – Global Winner is in Taiwan! [8] • 1.3
  • 15. Why? • As promising as java and git [1] – “Write Once. Run Anywhere.” – “Tiny footprint with lightning fast performance” • Speed up deployment • Eco system – cloudControl, PaaS companies – Red Hat, Microsoft, … – Amazon – etc.
  • 16. What is Docker exactly? [12] • Docker is a powerful tool to do with containers and images • What is container? – Linux Container – kernel feature: cgroup, namespace – OS-level virtualization • What is image? – Which provides the content of file systems for containers
  • 17. Install & Run [7] Manipulate Images [7] Manipulate Containers [7] TUTORIAL
  • 18. Install • From source: use docker to build docker • From pre-built package [9] – Depends on your linux distribution – Mac, Windows are supported
  • 19. Run • Only one command: docker – Both for daemon and CLI • Daemon – service docker start, or – systemctl start docker – common argument: -b=bridge0 • CLI
  • 20.
  • 21. Manipulate Images • docker images – view images • docker pull/push <image tag> – pull/push images from docker hub • docker search <keyword> – search images matching keyword
  • 22. Manipulate Images • docker rmi <image tag> – remove the image – if there are containers using this image, then this may not work • docker rmi $(docker images -q --filter "dangling=true") – useful combo to eliminate zombie images
  • 23. Images? Containers? Active (An Instance) Static (A Model) Operating System Process Program Docker Infrastructure Container Image
  • 24. Manipulate Containers • docker ps [|-a] – check [alive|all] containers • docker run -i -t <image> <exec> – launch an instance of the image and run the executable – use ctrl-p ctrl-q to detach – add -d argument to run in detach mode • docker attach/detach <contID> – as the command
  • 25. Manipulate Containers • docker top – check running process • docker start/stop <ContID> – as the command • docker rm <ContID> – remove the container
  • 26. Manipulate Containers: git-style experience • docker commit <contID> <Image> – commit changed container to a new image • docker diff <contID> – comapre the changes of the container to original image
  • 27. Manipulate Containers: java-style experience • Dockerfile – A text file that describes how to build an image – There have been many public Dockerfiles • docker build -t <image> <path/to/Dockerfile> – build an image according to Dockerfile – portable
  • 30. Environment Setup Benchmark: HPL HPC ON DOCKER
  • 31. HPC on Cloud • Cloud – Isolation – Resource control – IaaS / Virtualization • Containers – OS-level Virtualization – Light-weighted – namespace – cgroup
  • 32.
  • 33. Motivation • Examine the performance of container-based cluster • Experience the cost of deploying containers (rather than VMs) • Catch up with the trend
  • 34. Environment Setup • Native – Four-node cluster, with 24 CPUs each • VM – Use qemu as the hardware simulator, and accelerate with KVM kernel module • Container – Use docker
  • 35. Benchmarks • HPL(High Performance Linpack) – LU decomp. For large matrix – Benchmark for Top 500 SuperComputers – Measured in G/T/PFLOPs
  • 36. Benchmarks • NPB(NAS Parallel Benchmark) – Integer sort – Embarrassingly parallel – 3D Fourier transform – etc. • Network, I/O benchmarks – not presented here
  • 37. Conclusion • Containers performs well for computation-intensive apps – since they are processes with namespaces • We reproduce some of the experiment results of an report from IBM [11]
  • 38. Future Work • IBM side – Try their POWER-based supercomputers/clusters • My side – GPU support? (Surveying) – Migration? (Surveying) – ?
  • 40. References 1. http://www.centurylinklabs.com/what-is-docker- and-when-to-use-it/ 2. http://techcrunch.com/2014/08/04/docke r-sells-dotcloud-to-cloudcontrol-to-focus- on-core-container-business/ 3. Many Wikipedia pages, e.g. Docker, linux containers, cgroups, namespace, etc. 4. http://www.slideshare.net/dotCloud/dock er-resentation-meetupparis
  • 41. References 5. http://azure.microsoft.com/blog/2014/10 /15/new-windows-server-containers-and-azure- support-for-docker/ 6. http://aws.amazon.com/cn/about-aws/ whats-new/2014/04/23/aws-elastic-beanstalk- adds-docker-support/ 7. All documents here: http://docs.docker.com/ 8. http://blog.docker.com/2014/11/announc ing-docker-global-hack-day-2-winners/
  • 42. References 9. https://docs.docker.com/installation/ 10.http://www.nas.nasa.gov/publications/np b.html 11.An Updated Performance Comparison of Virtual Machines and Linux Containers 12.http://www.slideshare.net/adrianjotto/do cker-101-38986794?qid=52aa9f3a-2dd1- 4b1f-811d-ff0b0f8cc20b& v=qf1&b=&from_search= 6