SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
What is Docker?

Jason Shepherd, Docker Meetup Brisbane
Lightweight container
Storage for containers
Images for building containers
Repository for images

Jason Shepherd, Docker Meetup Brisbane
Why Docker?

Jason Shepherd, Docker Meetup Brisbane
Jason Shepherd, Docker Meetup Brisbane
Make the entire lifecycle more efficient,
consistent, and repeatable
Eliminate inconsistencies between
environments
Address significant performance, costs,
deployment, and portability issues normally
associated with VMs
Jason Shepherd, Docker Meetup Brisbane
Demo: Creating a container

Jason Shepherd, Docker Meetup Brisbane
sudo docker run -i -t fedora /bin/bash
bash-4.2#
Run /bin/bash using the fedora image and use my
current shell to access it.

Jason Shepherd, Docker Meetup Brisbane
Show the running containers
sudo docker ps
CONTAINER ID
eed6e1011af4

IMAGE
fedora:20

COMMAND
/bin/bash

Jason Shepherd, Docker Meetup Brisbane
Demo: Saving your changes

Jason Shepherd, Docker Meetup Brisbane
sudo docker run -i -t fedora /bin/bash
bash-4.2# yum install -y httpd
bash-4.2# exit
sudo docker run -i -t fedora /bin/bash
bash-4.2# rpm -ql httpd
Package httpd is not installed

Jason Shepherd, Docker Meetup Brisbane
sudo docker ps
CONTAINER ID
123e61a0108d

IMAGE
fedora:20

COMMAND
/bin/bash

sudo docker commit 123e61a0108d fedora-local
8a4a4c6445b...

sudo docker images
REPOSITORY
fedora-local

TAG
latest

IMAGE
8a4a4c64495b

Jason Shepherd, Docker Meetup Brisbane
Demo:
Access a container via the Network

Jason Shepherd, Docker Meetup Brisbane
Run Apache in the forground:
/usr/sbin/httpd
-DFOREGROUND

Jason Shepherd, Docker Meetup Brisbane
Bind a port on the host(8080) to a container port(80)
sudo docker run -p 0.0.0.0:8080:80 -t
a0cd983109bc /usr/sbin/httpd -DFOREGROUND

Jason Shepherd, Docker Meetup Brisbane
Hit it with your browser:
http://localhost:8080/

Jason Shepherd, Docker Meetup Brisbane
Docker is not production ready:
- All system calls available
- Can mount file system of host
- Can access process of container from
host

Jason Shepherd, Docker Meetup Brisbane
How to deal with Security issues:
- Treat docker as you would sudo
- Trust the images you run, they have root access
- Don't allow remote access to docker!

Jason Shepherd, Docker Meetup Brisbane

Weitere ähnliche Inhalte

Was ist angesagt?

Phoenix Servers with Docker and Nginx
Phoenix Servers with Docker and NginxPhoenix Servers with Docker and Nginx
Phoenix Servers with Docker and NginxNils De Moor
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Ruoshi Ling
 
Docker & Diego - good friends or not? | anynines
Docker & Diego  - good friends or not? | anyninesDocker & Diego  - good friends or not? | anynines
Docker & Diego - good friends or not? | anyninesanynines GmbH
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013Tomas Doran
 
CoreOS at Carnival
CoreOS at CarnivalCoreOS at Carnival
CoreOS at CarnivalToby Cox
 
Docker - Lightweight Virtualization
Docker - Lightweight VirtualizationDocker - Lightweight Virtualization
Docker - Lightweight VirtualizationMehdi Hasan
 
Arquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresArquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresChristian Melendez
 
Practical Introduction To Linux
Practical Introduction To LinuxPractical Introduction To Linux
Practical Introduction To LinuxZeeshan Rizvi
 
Containers #101 Meetup: Building a micro-service using Node.js and Docker - P...
Containers #101 Meetup: Building a micro-service using Node.js and Docker - P...Containers #101 Meetup: Building a micro-service using Node.js and Docker - P...
Containers #101 Meetup: Building a micro-service using Node.js and Docker - P...Codefresh
 
Docker: The Blue Whale of Awesomness
Docker: The Blue Whale of AwesomnessDocker: The Blue Whale of Awesomness
Docker: The Blue Whale of AwesomnessSigfred Balatan Jr.
 
Docker in the Real World - Group Exercises
Docker in the Real World - Group ExercisesDocker in the Real World - Group Exercises
Docker in the Real World - Group ExercisesJames Schorr
 
Bauen und Verteilen von Multi-Arch Docker Images für Linux und Windows
Bauen und Verteilen von Multi-Arch Docker Images für Linux und WindowsBauen und Verteilen von Multi-Arch Docker Images für Linux und Windows
Bauen und Verteilen von Multi-Arch Docker Images für Linux und WindowsStefan Scherer
 
Swarm 2 Go - Build A Portable Multi-Arch Data Center with Pi and UP Nodes
Swarm 2 Go - Build A Portable Multi-Arch Data Center with Pi and UP NodesSwarm 2 Go - Build A Portable Multi-Arch Data Center with Pi and UP Nodes
Swarm 2 Go - Build A Portable Multi-Arch Data Center with Pi and UP NodesStefan Scherer
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...Puppet
 
Docker at Monoco.jp (LinkedIn)
Docker at Monoco.jp (LinkedIn)Docker at Monoco.jp (LinkedIn)
Docker at Monoco.jp (LinkedIn)Akhmad Fathonih
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersAnthony Chu
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇Philip Zheng
 

Was ist angesagt? (20)

Phoenix Servers with Docker and Nginx
Phoenix Servers with Docker and NginxPhoenix Servers with Docker and Nginx
Phoenix Servers with Docker and Nginx
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨
 
Docker & Diego - good friends or not? | anynines
Docker & Diego  - good friends or not? | anyninesDocker & Diego  - good friends or not? | anynines
Docker & Diego - good friends or not? | anynines
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
 
CoreOS at Carnival
CoreOS at CarnivalCoreOS at Carnival
CoreOS at Carnival
 
Docker - Lightweight Virtualization
Docker - Lightweight VirtualizationDocker - Lightweight Virtualization
Docker - Lightweight Virtualization
 
Arquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresArquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y Contenedores
 
Practical Introduction To Linux
Practical Introduction To LinuxPractical Introduction To Linux
Practical Introduction To Linux
 
Containers #101 Meetup: Building a micro-service using Node.js and Docker - P...
Containers #101 Meetup: Building a micro-service using Node.js and Docker - P...Containers #101 Meetup: Building a micro-service using Node.js and Docker - P...
Containers #101 Meetup: Building a micro-service using Node.js and Docker - P...
 
Docker intro
Docker introDocker intro
Docker intro
 
Docker: The Blue Whale of Awesomness
Docker: The Blue Whale of AwesomnessDocker: The Blue Whale of Awesomness
Docker: The Blue Whale of Awesomness
 
Docker in the Real World - Group Exercises
Docker in the Real World - Group ExercisesDocker in the Real World - Group Exercises
Docker in the Real World - Group Exercises
 
Bauen und Verteilen von Multi-Arch Docker Images für Linux und Windows
Bauen und Verteilen von Multi-Arch Docker Images für Linux und WindowsBauen und Verteilen von Multi-Arch Docker Images für Linux und Windows
Bauen und Verteilen von Multi-Arch Docker Images für Linux und Windows
 
Swarm 2 Go - Build A Portable Multi-Arch Data Center with Pi and UP Nodes
Swarm 2 Go - Build A Portable Multi-Arch Data Center with Pi and UP NodesSwarm 2 Go - Build A Portable Multi-Arch Data Center with Pi and UP Nodes
Swarm 2 Go - Build A Portable Multi-Arch Data Center with Pi and UP Nodes
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
 
Docker at Monoco.jp (LinkedIn)
Docker at Monoco.jp (LinkedIn)Docker at Monoco.jp (LinkedIn)
Docker at Monoco.jp (LinkedIn)
 
Docker
DockerDocker
Docker
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server Containers
 
Zalenium - SeleniumConf Austin 2017
Zalenium - SeleniumConf Austin 2017Zalenium - SeleniumConf Austin 2017
Zalenium - SeleniumConf Austin 2017
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇
 

Andere mochten auch

Fedora 17-installation guide-en-us
Fedora 17-installation guide-en-usFedora 17-installation guide-en-us
Fedora 17-installation guide-en-usnelson-10
 
Introduction To Fedora
Introduction To FedoraIntroduction To Fedora
Introduction To FedoraArindam Ghosh
 
Tutorial de server
Tutorial de serverTutorial de server
Tutorial de servernelson-10
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux pptOmi Vichare
 
Linux command ppt
Linux command pptLinux command ppt
Linux command pptkalyanineve
 
Linux.ppt
Linux.ppt Linux.ppt
Linux.ppt onu9
 

Andere mochten auch (8)

Fedora 17-installation guide-en-us
Fedora 17-installation guide-en-usFedora 17-installation guide-en-us
Fedora 17-installation guide-en-us
 
Fedora Linux
Fedora LinuxFedora Linux
Fedora Linux
 
Introduction To Fedora
Introduction To FedoraIntroduction To Fedora
Introduction To Fedora
 
Tutorial de server
Tutorial de serverTutorial de server
Tutorial de server
 
Fedora Introduction
Fedora IntroductionFedora Introduction
Fedora Introduction
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux ppt
 
Linux command ppt
Linux command pptLinux command ppt
Linux command ppt
 
Linux.ppt
Linux.ppt Linux.ppt
Linux.ppt
 

Ähnlich wie Introduction to Docker

Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerJim Yeh
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutesLarry Cai
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortalsHenryk Konsek
 
Docker for (Java) Developers
Docker for (Java) DevelopersDocker for (Java) Developers
Docker for (Java) DevelopersRafael Benevides
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 augVincent De Smet
 
Dockerfiles building docker images automatically v (workdir, env, add, and ...
Dockerfiles   building docker images automatically v (workdir, env, add, and ...Dockerfiles   building docker images automatically v (workdir, env, add, and ...
Dockerfiles building docker images automatically v (workdir, env, add, and ...ansonjonel
 
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...NLJUG
 
Dockerizing BDD : Ruby-Cucumber Example
Dockerizing BDD : Ruby-Cucumber ExampleDockerizing BDD : Ruby-Cucumber Example
Dockerizing BDD : Ruby-Cucumber ExampleShashikant Jagtap
 
Docker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini AnandDocker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini AnandPRIYADARSHINI ANAND
 
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth RushgroveThe Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth RushgroveDocker, Inc.
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to DockerJian Wu
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...Codemotion
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇Philip Zheng
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Ben Hall
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with dockerGiacomo Bagnoli
 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Dockerkanedafromparis
 

Ähnlich wie Introduction to Docker (20)

Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutes
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortals
 
Docker for (Java) Developers
Docker for (Java) DevelopersDocker for (Java) Developers
Docker for (Java) Developers
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
 
Dockerfiles building docker images automatically v (workdir, env, add, and ...
Dockerfiles   building docker images automatically v (workdir, env, add, and ...Dockerfiles   building docker images automatically v (workdir, env, add, and ...
Dockerfiles building docker images automatically v (workdir, env, add, and ...
 
Docker containers on Windows
Docker containers on WindowsDocker containers on Windows
Docker containers on Windows
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Workshop Docker for DSpace
Workshop Docker for DSpaceWorkshop Docker for DSpace
Workshop Docker for DSpace
 
A Hands-on Introduction to Docker
A Hands-on Introduction to DockerA Hands-on Introduction to Docker
A Hands-on Introduction to Docker
 
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
 
Dockerizing BDD : Ruby-Cucumber Example
Dockerizing BDD : Ruby-Cucumber ExampleDockerizing BDD : Ruby-Cucumber Example
Dockerizing BDD : Ruby-Cucumber Example
 
Docker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini AnandDocker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini Anand
 
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth RushgroveThe Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to Docker
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with docker
 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
 

Introduction to Docker

  • 1. What is Docker? Jason Shepherd, Docker Meetup Brisbane
  • 2. Lightweight container Storage for containers Images for building containers Repository for images Jason Shepherd, Docker Meetup Brisbane
  • 3. Why Docker? Jason Shepherd, Docker Meetup Brisbane
  • 4. Jason Shepherd, Docker Meetup Brisbane
  • 5. Make the entire lifecycle more efficient, consistent, and repeatable Eliminate inconsistencies between environments Address significant performance, costs, deployment, and portability issues normally associated with VMs Jason Shepherd, Docker Meetup Brisbane
  • 6. Demo: Creating a container Jason Shepherd, Docker Meetup Brisbane
  • 7. sudo docker run -i -t fedora /bin/bash bash-4.2# Run /bin/bash using the fedora image and use my current shell to access it. Jason Shepherd, Docker Meetup Brisbane
  • 8. Show the running containers sudo docker ps CONTAINER ID eed6e1011af4 IMAGE fedora:20 COMMAND /bin/bash Jason Shepherd, Docker Meetup Brisbane
  • 9. Demo: Saving your changes Jason Shepherd, Docker Meetup Brisbane
  • 10. sudo docker run -i -t fedora /bin/bash bash-4.2# yum install -y httpd bash-4.2# exit sudo docker run -i -t fedora /bin/bash bash-4.2# rpm -ql httpd Package httpd is not installed Jason Shepherd, Docker Meetup Brisbane
  • 11. sudo docker ps CONTAINER ID 123e61a0108d IMAGE fedora:20 COMMAND /bin/bash sudo docker commit 123e61a0108d fedora-local 8a4a4c6445b... sudo docker images REPOSITORY fedora-local TAG latest IMAGE 8a4a4c64495b Jason Shepherd, Docker Meetup Brisbane
  • 12. Demo: Access a container via the Network Jason Shepherd, Docker Meetup Brisbane
  • 13. Run Apache in the forground: /usr/sbin/httpd -DFOREGROUND Jason Shepherd, Docker Meetup Brisbane
  • 14. Bind a port on the host(8080) to a container port(80) sudo docker run -p 0.0.0.0:8080:80 -t a0cd983109bc /usr/sbin/httpd -DFOREGROUND Jason Shepherd, Docker Meetup Brisbane
  • 15. Hit it with your browser: http://localhost:8080/ Jason Shepherd, Docker Meetup Brisbane
  • 16. Docker is not production ready: - All system calls available - Can mount file system of host - Can access process of container from host Jason Shepherd, Docker Meetup Brisbane
  • 17. How to deal with Security issues: - Treat docker as you would sudo - Trust the images you run, they have root access - Don't allow remote access to docker! Jason Shepherd, Docker Meetup Brisbane