SlideShare a Scribd company logo
1 of 12
CodeMonkeys
Phelim Bradley
The problem: Deploying/Distributing
software is harder than it should be.
Just because your software runs on your
machine does not mean that it will run
anywhere.
Docker allows you to “containerise” your
software.
What is docker?
• The docker engine is a “a portable, lightweight
runtime and packaging tool”.
• Docker Hub is “a cloud service for sharing
applications and automating workflows”.
Docker + dockerhub : The git + github for
deployment?
Docker is not a VM
Virtual Machine Docker
Example of basic commands
• Search
• Pull
• Run
• Commit
• Push
• Inspect
Docker Build
• Two ways to “dockerise” containers.
– Make the container and push to dockerhub.
– Or, write a dockerfile to automate the build.
• Example – dockerizing Mykrobe predictor.
Working with data in docker
• Now that we’ve build our docker container for
Mykrobe we can’t run it on data on the host
system.
docker run phelimb/mykrobe ./Mykrobe.predictor.tb
--install_dir ../ --file tb.fastq
Mykrobe.predictor.tb: Cannot open file
/Users/phelimb/Dropbox/Mykrobe_test_samples/t
b.fastq
Working with data in docker
• We need to mount the data to the container.
docker run –v local_data/:/data/
phelimb/mykrobe ./Mykrobe.predictor.tb --
install_dir ../ --file /data/tb.fastq
Linking containers together
• Each docker container should run ONE
process.
• Name your containers to link them together.
• E.g.
docker run -d --name db training/postgres
docker run -ti -P --name web --link db:db
training/webapp /bin/bash
• DB ENV variables are visible in WEB.
Docker compose
• Docker compose allows you to create complex
container configuration simply.
• Write a docker-compose.yml
– Run docker-compose up
– Example
Docker makes cloud computing easier
• Docker-machine create
– Creates a docker compatible cloud instance
– Works with many cloud providors
• Docker swarm:
– Clustering for docker containers
Example use cases in bioinformatics
• Software comparision
– http://nucleotid.es/assemblers/
• Illumina Basespace
– Uses docker for native apps
• Docker for reproducible research:
– http://arxiv.org/abs/1410.0846
• Solves “Dependency hell”
• Analysis pipelines (nextflow.io)

More Related Content

What's hot

What's hot (20)

Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOS
 
Using Minikube for Node.js development
Using Minikube for Node.js developmentUsing Minikube for Node.js development
Using Minikube for Node.js development
 
From zero to hero with docker
From zero to hero with dockerFrom zero to hero with docker
From zero to hero with docker
 
FEI Bratislava 2017 - Docker
FEI Bratislava 2017 - DockerFEI Bratislava 2017 - Docker
FEI Bratislava 2017 - Docker
 
Automating Docker Containers with Puppet 2014 10-13
Automating Docker Containers with Puppet 2014 10-13Automating Docker Containers with Puppet 2014 10-13
Automating Docker Containers with Puppet 2014 10-13
 
Docker 101
Docker 101Docker 101
Docker 101
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for Dummies
 
Boston Cloud Foundry Meetup 5-22-14
Boston Cloud Foundry Meetup 5-22-14Boston Cloud Foundry Meetup 5-22-14
Boston Cloud Foundry Meetup 5-22-14
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Azure container service docker-ha noi com
Azure container service   docker-ha noi comAzure container service   docker-ha noi com
Azure container service docker-ha noi com
 
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter DanesUsing Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
 
Building a SaaS with Nodejs, Docker, and CoreOS
Building a SaaS with Nodejs, Docker, and CoreOSBuilding a SaaS with Nodejs, Docker, and CoreOS
Building a SaaS with Nodejs, Docker, and CoreOS
 
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena TapiaFrom Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
 
ACM Gazi Docker?
ACM Gazi Docker?ACM Gazi Docker?
ACM Gazi Docker?
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017
 
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
 
Docker Tooling for Eclipse
Docker Tooling for EclipseDocker Tooling for Eclipse
Docker Tooling for Eclipse
 
Shipping NodeJS with Docker and CoreOS (No Notes)
Shipping NodeJS with Docker and CoreOS (No Notes)Shipping NodeJS with Docker and CoreOS (No Notes)
Shipping NodeJS with Docker and CoreOS (No Notes)
 

Similar to Docker

Similar to Docker (20)

Docker workshop GDSC_CSSC
Docker workshop GDSC_CSSCDocker workshop GDSC_CSSC
Docker workshop GDSC_CSSC
 
Docker
DockerDocker
Docker
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )
 
Let's dockerize
Let's dockerizeLet's dockerize
Let's dockerize
 
Overview of Docker
Overview of DockerOverview of Docker
Overview of Docker
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with Docker
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
 
.docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...
 
Introduction To Docker
Introduction To  DockerIntroduction To  Docker
Introduction To Docker
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
 
What is Docker & Why is it Getting Popular?
What is Docker & Why is it Getting Popular?What is Docker & Why is it Getting Popular?
What is Docker & Why is it Getting Popular?
 
Introduction to Dockers.pptx
Introduction to Dockers.pptxIntroduction to Dockers.pptx
Introduction to Dockers.pptx
 

More from Phelim Bradley (6)

IGD 2015 Mykrobe predictor - Bradley
IGD 2015 Mykrobe predictor - BradleyIGD 2015 Mykrobe predictor - Bradley
IGD 2015 Mykrobe predictor - Bradley
 
Eccmid 2015 Mykrobe Predictor - A desktop application identifying species and...
Eccmid 2015 Mykrobe Predictor - A desktop application identifying species and...Eccmid 2015 Mykrobe Predictor - A desktop application identifying species and...
Eccmid 2015 Mykrobe Predictor - A desktop application identifying species and...
 
Quantised Conductance in Self Breaking Nanowires
Quantised Conductance in Self Breaking NanowiresQuantised Conductance in Self Breaking Nanowires
Quantised Conductance in Self Breaking Nanowires
 
Quantum error correction
Quantum error correctionQuantum error correction
Quantum error correction
 
Superconductivity
SuperconductivitySuperconductivity
Superconductivity
 
Search and find metadata in education
Search and find metadata in educationSearch and find metadata in education
Search and find metadata in education
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Recently uploaded (20)

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 

Docker

  • 2. The problem: Deploying/Distributing software is harder than it should be. Just because your software runs on your machine does not mean that it will run anywhere. Docker allows you to “containerise” your software.
  • 3. What is docker? • The docker engine is a “a portable, lightweight runtime and packaging tool”. • Docker Hub is “a cloud service for sharing applications and automating workflows”. Docker + dockerhub : The git + github for deployment?
  • 4. Docker is not a VM Virtual Machine Docker
  • 5. Example of basic commands • Search • Pull • Run • Commit • Push • Inspect
  • 6. Docker Build • Two ways to “dockerise” containers. – Make the container and push to dockerhub. – Or, write a dockerfile to automate the build. • Example – dockerizing Mykrobe predictor.
  • 7. Working with data in docker • Now that we’ve build our docker container for Mykrobe we can’t run it on data on the host system. docker run phelimb/mykrobe ./Mykrobe.predictor.tb --install_dir ../ --file tb.fastq Mykrobe.predictor.tb: Cannot open file /Users/phelimb/Dropbox/Mykrobe_test_samples/t b.fastq
  • 8. Working with data in docker • We need to mount the data to the container. docker run –v local_data/:/data/ phelimb/mykrobe ./Mykrobe.predictor.tb -- install_dir ../ --file /data/tb.fastq
  • 9. Linking containers together • Each docker container should run ONE process. • Name your containers to link them together. • E.g. docker run -d --name db training/postgres docker run -ti -P --name web --link db:db training/webapp /bin/bash • DB ENV variables are visible in WEB.
  • 10. Docker compose • Docker compose allows you to create complex container configuration simply. • Write a docker-compose.yml – Run docker-compose up – Example
  • 11. Docker makes cloud computing easier • Docker-machine create – Creates a docker compatible cloud instance – Works with many cloud providors • Docker swarm: – Clustering for docker containers
  • 12. Example use cases in bioinformatics • Software comparision – http://nucleotid.es/assemblers/ • Illumina Basespace – Uses docker for native apps • Docker for reproducible research: – http://arxiv.org/abs/1410.0846 • Solves “Dependency hell” • Analysis pipelines (nextflow.io)

Editor's Notes

  1. docker docker search ubuntu docker search bwa docker search tutorial docker pull learn/tutorial docker run learn/tutorial echo "hello world" docker run learn/tutorial apt-get install -y ping docker commit xxx phelimb/ping docker inspect xx docker push phelimb/ping
  2. ## Build and Volumes docker build . docker run ** docker commit ** phelimb/mykrobe
  3. docker run phelimb/mykrobe ./Mykrobe.predictor.tb --install_dir ../ --file ~/Dropbox/Mykrobe_test_samples/tb.fastq docker run -v ~/Dropbox/Mykrobe_test_samples/:/data/ phelimb/mykrobe ./Mykrobe.predictor.tb --install_dir ../ --file /data/tb.fastq
  4. ## Linking containers docker run -d -P --name web training/webapp python app.py docker run -d --name db training/postgres ## Replace with linked docker rm -f web docker run -ti -P --name web --link db:db training/webapp /bin/bash env | grep DB
  5. ## Compose/machine/swarm venv/bin/docker-compose up