SlideShare a Scribd company logo
1 of 41
Download to read offline
docker.io 
versioned Lightweight Linux Containers 
dominik dorn @ JDD 2014
Overview 
● Containers – Why? 
● Containers vs. VMs 
● Docker 
● ( fig, jDocker, shipyard, Jenkins) 
● CoreOs 
● Panamax 
2014-10-14 Dominik Dorn – docker.io @ JDD14
The Challenge 
Static website 
User DB 
Redis + 
redis-sentinel 
Web frontend 
Queue Analytics DB 
Background workers 
API endpoint 
nginx 1.7.6 + modsecurity + openssl + 
bootstrap 2 
postgresql + pgv8 + v8 
hadoop + hive + thrift + 
OpenJDK 
PlayFramework + sass 
BatchEE, jRedis, libcurl + ffmpeg + libopencv + 
nodejs + phantomjs 
Spray / Akka, jredis + postgresql-jdbc, anorm 
Development VM 
QA server 
Public Cloud 
Disaster recovery 
Contributor’s 
laptop 
Production Servers 
Multiplicity of 
Stacks 
Multiplicity of 
hardware 
environments 
Production 
Cluster 
Customer Data Center 
Do services and 
apps interact 
appropriately? 
smoothly and 
Can I migrate 
quickly?
The Matrix From Hell 
Static website 
Web frontend 
Background 
workers 
User DB 
Analytics DB 
Queue 
? ? ? ? ? ? ? 
? ? ? ? ? ? ? 
? ? ? ? ? ? ? 
? ? ? ? ? ? ? 
? ? ? ? ? ? ? 
? ? ? ? ? ? ? 
Developm 
ent VM 
QA 
Server 
Single 
Prod 
Server 
Onsite 
Cluster 
Public 
Cloud 
Contribut 
or’s 
laptop 
Customer 
Servers
Multiplicity of 
Goods 
Multipilicity of 
methods for 
transporting/stor 
ing 
Do I worry about 
interact (e.g. 
how goods 
next to spices) 
cofee beans 
Can I transport 
quickly and 
(e.g. from boat to 
smoothly 
train to truck) 
Cargo Transport Pre-1960
Also a matrix from hell 
? ? ? ? ? ? ? 
? ? ? ? ? ? ? 
? ? ? ? ? ? ? 
? ? ? ? ? ? ? 
? ? ? ? ? ? ? 
? ? ? ? ? ? ?
Multiplicity Multiplicity of methods for of Goods 
transporting/storing 
Do I worry about how 
coffee beans next to 
goods interact (e.g. 
Solution: Intermodal Shipping Container 
spices) 
Can I transport quickly 
(e.g. from boat to train 
and smoothly 
to truck) 
…in between, can be 
loaded and unloaded, 
stacked, transported 
efficiently over long 
distances, and transferred 
from one mode of 
transport to another 
A standard container 
that is loaded with 
virtually any goods, and 
stays sealed until it 
reaches final delivery.
Docker is a shipping container system for code 
Static website User DB Web frontend Queue Analytics DB 
Develop 
ment VM 
…that can be manipulated 
using standard operations 
and run consistently on 
virtually any hardware 
platform 
QA server Public Cloud Contributor’ 
s laptop 
Multiplicity of 
Stacks 
Multiplicity of 
hardware 
environments 
Production 
Cluster 
Customer 
Data Center 
Do services and 
apps interact 
appropriately? 
smoothly and 
Can I migrate 
quickly 
An engine that enables 
any payload to be 
encapsulated as a 
lightweight, portable, 
self-sufficient 
container…
Docker eliminates the matrix from Hell 
Static website 
Web frontend 
Background 
workers 
User DB 
Analytics DB 
Queue 
Develop 
ment VM 
QA 
Server 
Single 
Prod 
Server 
Onsite 
Cluster 
Public 
Cloud 
Contribut 
or’s 
laptop 
Custome 
r Servers
Containers vs. VMs 
App 
A 
Bins 
/ 
Libs 
Bins 
/ 
Libs 
Bins 
/ 
Libs 
Hypervisor (Type 2) 
Host OS 
Server 
Gu 
est 
OS 
App 
A’ 
Gu 
est 
OS 
App 
B 
Gu 
est 
OS 
App 
A 
Docker 
Host OS 
Server 
App A 
Bins/Libs 
Bins/Libs 
App 
B 
App B 
App 
B 
App B 
VM 
Container 
Containers are isolated, 
but share OS and, where 
appropriate, bins/libraries 
Gu 
est 
OS 
Gu 
est 
OS 
…result is significantly 
faster deployment, much 
less overhead, easier 
migration, faster restart
Docker – Union File System 
● aUFS – another UFS 
● GIT for file systems 
● Layering 
● Copy on Write FS 
● Can handle millions of 
branches 
● Docker-Limitation (June 
2014) 
● 127 Levels (w/o kernel mod) 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – installation 
● On MacOS X 10.6 or newer 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – installation 
● On Ubuntu / Debian 
wget -qO- https://get.docker.io/ | sh 
# does basically this 
sudo apt-key adv --keyserver 
hkp://keyserver.ubuntu.com:80 --recv-keys 
36A1D7869245C8950F966E92D8576A8BA88D21E9 
$ sudo sh -c "echo deb https://get.docker.io/ubuntu 
docker main 
> /etc/apt/sources.list.d/docker.list" 
$ sudo apt-get update 
$ sudo apt-get install lxc-docker 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – installation 
● If you would like to use Docker as a non-root user, you 
should now consider adding your user to the "docker" 
group with something like: 
sudo usermod -aG docker domdorn 
● domdorn@camelion ~ % docker –version 
Docker version 1.0.0, build 63fe64c 
● Use the install script, ubuntu/debian have old versions 
of docker in their Repos! 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – create a container 
$ docker pull ubuntu 
$ docker run -i -t ubuntu /bin/bash 
// -i interactive 
// -t template 
*hackhack* 
*hackhack* 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – commiting 
● domdorn@camelion ~ % docker ps 
CONTAINER ID IMAGE COMMAND CREATED STATUS 
3cf5b7a52e4d ubuntu:14.04 /bin/bash 9 minutes ago Up 9 minutes 
● domdorn@camelion ~ % docker commit 3cf5b7a52e4d domdorn/nginx 
8b8401a1a847ec4ab9055e4d6a7698e5906727f8661a655abe8b614b7fdc9c61 
● domdorn@camelion ~ % docker images 
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE 
domdorn/nginx latest 8b8401a1a847 About a minute ago 349 MB 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – running 
● domdorn@camelion ~ % docker images 
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE 
domdorn/nginx latest 8b8401a1a847 About a minute ago 349 MB 
● docker run -d -t domdorn/nginx /usr/sbin/nginx -g 'daemon off;' 
bdf571c2d6b7a9ef08b3d1e4795b0605c6034987478e1dfd4c185ba820c73435 
● docker inspect --format '{{ .NetworkSettings.IPAddress }}' bdf571c2d6b 
172.17.0.9 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – publish ports 
● docker run -p 9000:80 -d -t domdorn/nginx /usr/sbin/nginx -g 'daemon off;' 
d5efd9916468c6feed90021eaf862be3fdfd36cafa20b623e51efb1cebdb41ca 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – using volumes 
● Map folders from the host / other containers into a 
container (bind-mount) 
docker run -v /var/www/www.jsug.at/htdocs:/usr/share/nginx/html --name 'jddhttp' -d -t 
domdorn/nginx /usr/sbin/nginx -g 'daemon off;' 
29fcdbc6775d4200d14696299900fa88c1bc7da9e19a10866940eded69cd26a4 
● docker inspect --format '{{ .NetworkSettings.IPAddress }}' jddhttp 
172.17.0.32 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – importing Volumes 
● docker run --volumes-from=126995e77d9b -i -t ubuntu 
cat /usr/share/nginx/html/index.html 
<html> 
<head> 
<title>hello JDD</title> 
</head> 
<body> 
<h1>Hello JDD!</h1> 
</body> 
</html> 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker – linking containers 
● docker run --link=jddhttp:httpserver -i -t ubuntu ping -c 4 httpserver 
PING httpserver (172.17.0.25) 56(84) bytes of data. 
64 bytes from httpserver (172.17.0.25): icmp_seq=1 ttl=64 time=0.125 ms 
64 bytes from httpserver (172.17.0.25): icmp_seq=2 ttl=64 time=0.065 ms 
64 bytes from httpserver (172.17.0.25): icmp_seq=3 ttl=64 time=0.069 ms 
64 bytes from httpserver (172.17.0.25): icmp_seq=4 ttl=64 time=0.081 ms 
--- httpserver ping statistics --- 
4 packets transmitted, 4 received, 0% packet loss, time 2999ms 
rtt min/avg/max/mdev = 0.065/0.085/0.125/0.023 ms 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Docker - Dockerfile 
● Recipe to create Docker Containers 
● Commands 
● ADD – copies files from the file system into the docker container 
● RUN – runs a command to build the image (e.g. apt-get install wget) 
● CMD – runs a command when the container gets instantiated ( e.g. apt-get update ) 
● ENTRYPOINT – default command to run when starting a container (e.g. /usr/sbin/nginx ) 
● ENV – set environment variables 
● EXPOSE – make a port available for incoming connections 
● FROM – base docker image, e.g. domdorn/nginx or “ubuntu” 
● MAINTAINER – name of the maintainer 
● USER – execute the entrypoint under a specific UID 
● VOLUME – defines directories that get exposed as volumes 
● WORKDIR – sets the workdir for the entrypoint 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Fig 
● http://orchardup.github.io/fig/index.html 
● Define your app's environment with Docker so it 
can be reproduced anywhere 
Dockerfile: 
FROM orchardup/python:2.7 
ADD . /code 
WORKDIR /code 
RUN pip install -r requirements.txt 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Fig 
● Define the services that make up your app so they can be run 
together in an isolated environment: 
fig.yml: 
web: 
build: . 
command: python app.py 
links: 
- db 
ports: 
- "8000:8000" 
db: 
image: orchardup/postgresql 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Fig 
● Then type fig up, and Fig will start and run your 
entire app: 
2014-10-14 Dominik Dorn – docker.io @ JDD14
jDocker 
● https://github.com/nirima/jDocker 
● Fluent-API for Docker 
● Requires TCP-Socket enabled 
● Create/Delete/Start/Stop Docker Containers 
● Tests: 
https://github.com/nirima/jDocker/blob/master/sr 
c/test/java/com/kpelykh/docker/client/test/Docke 
rClientTest.java 
2014-10-14 Dominik Dorn – docker.io @ JDD14
shipyard 
● https://github.com/shipyard/shipyard 
● Webapp to manage docker containers 
● docker run -i -t -v 
/var/run/docker.sock:/docker.sock 
shipyard/deploy setup 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Shipyard - Management 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Shipyard - Hosts 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Shipyard - Metrics 
2014-10-14 Dominik Dorn – docker.io @ JDD14
jenkins 
● https://wiki.jenkins-ci. 
org/display/JENKINS/Docker+Plugin 
● Container/Slave per Build 
● Uses jDocker behind the scenes 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Jenkins - Config 
2014-10-14 Dominik Dorn – docker.io @ JDD14
CoreOS 
● Minimal & optimized OS to run Docker 
containers 
● https://coreos.com/ 
● “Linux for Massive Server Deployments 
CoreOS enables warehouse-scale computing 
on top of a minimal, modern operating system.” 
2014-10-14 Dominik Dorn – docker.io @ JDD14
CoreOS 
2014-10-14 Dominik Dorn – docker.io @ JDD14
CoreOS 
2014-10-14 Dominik Dorn – docker.io @ JDD14
CoreOS 
2014-10-14 Dominik Dorn – docker.io @ JDD14
CoreOS 
2014-10-14 Dominik Dorn – docker.io @ JDD14
CoreOS 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Panamax 
● By the Docker founders (Cloudcentric) 
● Apache 2 Licensed 
● Best practice combination of Docker-Tools 
( fig, fleet, supervisord, coreos, etcd, …) 
● Web-UI for Docker-Configuration 
● Template-System 
● Panamax-Store: “AppStore” for Templates 
● Github integration 
2014-10-14 Dominik Dorn – docker.io @ JDD14
Links / Literature 
● http://www.slideshare.net/dotCloud/docker-intr 
o-november 
● http://shipyard-project.com/ 
● http://www.coreos.com 
● http://orchardup.github.io/fig/index.html 
● https://wiki.jenkins-ci.org/display/JENKINS/Doc 
ker+Plugin 
● http://panamax.io 
2014-10-14 Dominik Dorn – docker.io @ JDD14
That's it! 
twitter: @domdorn 
mail: dominik@dominikdorn.com 
2014-10-14 Dominik Dorn – docker.io @ JDD14

More Related Content

What's hot

Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupKamesh Pemmaraju
 
Docker in everyday development
Docker in everyday developmentDocker in everyday development
Docker in everyday developmentJustyna Ilczuk
 
Docker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - GoraeDocker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - GoraeRhio kim
 
Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Chris Tankersley
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdKohei Tokunaga
 
Docker workshop 0507 Taichung
Docker workshop 0507 Taichung Docker workshop 0507 Taichung
Docker workshop 0507 Taichung Paul Chao
 
[KubeCon EU 2021] Introduction and Deep Dive Into Containerd
[KubeCon EU 2021] Introduction and Deep Dive Into Containerd[KubeCon EU 2021] Introduction and Deep Dive Into Containerd
[KubeCon EU 2021] Introduction and Deep Dive Into ContainerdAkihiro Suda
 
手把手帶你學Docker 03042017
手把手帶你學Docker 03042017手把手帶你學Docker 03042017
手把手帶你學Docker 03042017Paul Chao
 
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)어형 이
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Developmentmsyukor
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackBoden Russell
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - IndroducAl Gifari
 
Docker Distributed application bundle & Stack - Overview
Docker Distributed application bundle & Stack - Overview Docker Distributed application bundle & Stack - Overview
Docker Distributed application bundle & Stack - Overview Thomas Chacko
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a containerJohan Janssen
 
Rishidot research briefing notes Cloudscaling
Rishidot research briefing notes   CloudscalingRishidot research briefing notes   Cloudscaling
Rishidot research briefing notes CloudscalingRishidot Research
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAlan Forbes
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Boden Russell
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSFrank Munz
 

What's hot (20)

Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
 
Docker in everyday development
Docker in everyday developmentDocker in everyday development
Docker in everyday development
 
Docker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - GoraeDocker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - Gorae
 
Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
 
Docker workshop 0507 Taichung
Docker workshop 0507 Taichung Docker workshop 0507 Taichung
Docker workshop 0507 Taichung
 
[KubeCon EU 2021] Introduction and Deep Dive Into Containerd
[KubeCon EU 2021] Introduction and Deep Dive Into Containerd[KubeCon EU 2021] Introduction and Deep Dive Into Containerd
[KubeCon EU 2021] Introduction and Deep Dive Into Containerd
 
手把手帶你學Docker 03042017
手把手帶你學Docker 03042017手把手帶你學Docker 03042017
手把手帶你學Docker 03042017
 
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
 
Docker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps DevelopmentDocker: A New Way to Turbocharging Your Apps Development
Docker: A New Way to Turbocharging Your Apps Development
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStack
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
 
Docker Distributed application bundle & Stack - Overview
Docker Distributed application bundle & Stack - Overview Docker Distributed application bundle & Stack - Overview
Docker Distributed application bundle & Stack - Overview
 
Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a container
 
Rishidot research briefing notes Cloudscaling
Rishidot research briefing notes   CloudscalingRishidot research briefing notes   Cloudscaling
Rishidot research briefing notes Cloudscaling
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
 

Viewers also liked

PLNOG 13: Adam Heczko: Openstack, Ceph, SDN
PLNOG 13: Adam Heczko: Openstack, Ceph, SDNPLNOG 13: Adam Heczko: Openstack, Ceph, SDN
PLNOG 13: Adam Heczko: Openstack, Ceph, SDNPROIDEA
 
PLNOG 13: Artur Piechocki: Protection of privacy
PLNOG 13: Artur Piechocki: Protection of privacyPLNOG 13: Artur Piechocki: Protection of privacy
PLNOG 13: Artur Piechocki: Protection of privacyPROIDEA
 
PLNOG 13: Sylwester Chojnacki: Jak efektywnie wykorzystać kolejny okres progr...
PLNOG 13: Sylwester Chojnacki: Jak efektywnie wykorzystać kolejny okres progr...PLNOG 13: Sylwester Chojnacki: Jak efektywnie wykorzystać kolejny okres progr...
PLNOG 13: Sylwester Chojnacki: Jak efektywnie wykorzystać kolejny okres progr...PROIDEA
 
JDD2014: QA to AQ: shifting from quality assurance to agile quality - Joseph ...
JDD2014: QA to AQ: shifting from quality assurance to agile quality - Joseph ...JDD2014: QA to AQ: shifting from quality assurance to agile quality - Joseph ...
JDD2014: QA to AQ: shifting from quality assurance to agile quality - Joseph ...PROIDEA
 
JDD2014: How to defeat feature gluttony - Katarzyna Mrówca
JDD2014: How to defeat feature gluttony - Katarzyna MrówcaJDD2014: How to defeat feature gluttony - Katarzyna Mrówca
JDD2014: How to defeat feature gluttony - Katarzyna MrówcaPROIDEA
 
JDD2014: The responsible developer - Thomas Sundberg
JDD2014: The responsible developer - Thomas SundbergJDD2014: The responsible developer - Thomas Sundberg
JDD2014: The responsible developer - Thomas SundbergPROIDEA
 
PLNOG 13: Sebastian Pasternacki: Standard 802.11e, a usługi multimedialne w s...
PLNOG 13: Sebastian Pasternacki: Standard 802.11e, a usługi multimedialne w s...PLNOG 13: Sebastian Pasternacki: Standard 802.11e, a usługi multimedialne w s...
PLNOG 13: Sebastian Pasternacki: Standard 802.11e, a usługi multimedialne w s...PROIDEA
 
JDD2014: Introduction to OSGi - Paul Bakker
JDD2014: Introduction to OSGi - Paul BakkerJDD2014: Introduction to OSGi - Paul Bakker
JDD2014: Introduction to OSGi - Paul BakkerPROIDEA
 
JDD2014: Real life lambdas - Peter Lawrey
JDD2014: Real life lambdas - Peter LawreyJDD2014: Real life lambdas - Peter Lawrey
JDD2014: Real life lambdas - Peter LawreyPROIDEA
 
PLNOG16: Praktyczne zastosowania technologii SDN w  6 4 2 0 Kolumna 1 Kolumn...
PLNOG16: Praktyczne zastosowania technologii SDN w  6 4 2 0 Kolumna 1 Kolumn...PLNOG16: Praktyczne zastosowania technologii SDN w  6 4 2 0 Kolumna 1 Kolumn...
PLNOG16: Praktyczne zastosowania technologii SDN w  6 4 2 0 Kolumna 1 Kolumn...PROIDEA
 
PLNOG16: Jak wykorzystać BRAS/BNG na platformach Cisco w celu świadczenia dod...
PLNOG16: Jak wykorzystać BRAS/BNG na platformach Cisco w celu świadczenia dod...PLNOG16: Jak wykorzystać BRAS/BNG na platformach Cisco w celu świadczenia dod...
PLNOG16: Jak wykorzystać BRAS/BNG na platformach Cisco w celu świadczenia dod...PROIDEA
 
PLNOG16: Jak systemy wideokonferencyjne pomogły osiągnąć mi sukces, Zygmunt Ł...
PLNOG16: Jak systemy wideokonferencyjne pomogły osiągnąć mi sukces, Zygmunt Ł...PLNOG16: Jak systemy wideokonferencyjne pomogły osiągnąć mi sukces, Zygmunt Ł...
PLNOG16: Jak systemy wideokonferencyjne pomogły osiągnąć mi sukces, Zygmunt Ł...PROIDEA
 
PLNOG16: Ochrona AntiDDoS, lokalnie oraz w chmurze, Paweł Wachełka
PLNOG16: Ochrona AntiDDoS, lokalnie oraz w chmurze, Paweł WachełkaPLNOG16: Ochrona AntiDDoS, lokalnie oraz w chmurze, Paweł Wachełka
PLNOG16: Ochrona AntiDDoS, lokalnie oraz w chmurze, Paweł WachełkaPROIDEA
 
PLNOG16: Dell One Network – Unifikacja sieci LAN, Andrzej Oleszek
PLNOG16: Dell One Network – Unifikacja sieci LAN, Andrzej OleszekPLNOG16: Dell One Network – Unifikacja sieci LAN, Andrzej Oleszek
PLNOG16: Dell One Network – Unifikacja sieci LAN, Andrzej OleszekPROIDEA
 
PLNOG16: ZTP – Zero Touch Provisioning in use, Marek Plaza
PLNOG16: ZTP – Zero Touch Provisioning in use, Marek PlazaPLNOG16: ZTP – Zero Touch Provisioning in use, Marek Plaza
PLNOG16: ZTP – Zero Touch Provisioning in use, Marek PlazaPROIDEA
 
PLNOG16: When and Why use Fortinet Infrastructure Wireless solution, Brian An...
PLNOG16: When and Why use Fortinet Infrastructure Wireless solution, Brian An...PLNOG16: When and Why use Fortinet Infrastructure Wireless solution, Brian An...
PLNOG16: When and Why use Fortinet Infrastructure Wireless solution, Brian An...PROIDEA
 
PLNOG16: Budowa DC Świadczenie usług dla klientów, Łukasz Bromirski, Piotr ...
PLNOG16: Budowa DC Świadczenie usług dla klientów, Łukasz Bromirski, Piotr ...PLNOG16: Budowa DC Świadczenie usług dla klientów, Łukasz Bromirski, Piotr ...
PLNOG16: Budowa DC Świadczenie usług dla klientów, Łukasz Bromirski, Piotr ...PROIDEA
 
PLNOG16: Wielopunktowy VPN, Piotr Głaska
PLNOG16: Wielopunktowy VPN, Piotr GłaskaPLNOG16: Wielopunktowy VPN, Piotr Głaska
PLNOG16: Wielopunktowy VPN, Piotr GłaskaPROIDEA
 
PLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
PLNOG16: Data center interconnect dla opornych, Krzysztof MazepaPLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
PLNOG16: Data center interconnect dla opornych, Krzysztof MazepaPROIDEA
 
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...PROIDEA
 

Viewers also liked (20)

PLNOG 13: Adam Heczko: Openstack, Ceph, SDN
PLNOG 13: Adam Heczko: Openstack, Ceph, SDNPLNOG 13: Adam Heczko: Openstack, Ceph, SDN
PLNOG 13: Adam Heczko: Openstack, Ceph, SDN
 
PLNOG 13: Artur Piechocki: Protection of privacy
PLNOG 13: Artur Piechocki: Protection of privacyPLNOG 13: Artur Piechocki: Protection of privacy
PLNOG 13: Artur Piechocki: Protection of privacy
 
PLNOG 13: Sylwester Chojnacki: Jak efektywnie wykorzystać kolejny okres progr...
PLNOG 13: Sylwester Chojnacki: Jak efektywnie wykorzystać kolejny okres progr...PLNOG 13: Sylwester Chojnacki: Jak efektywnie wykorzystać kolejny okres progr...
PLNOG 13: Sylwester Chojnacki: Jak efektywnie wykorzystać kolejny okres progr...
 
JDD2014: QA to AQ: shifting from quality assurance to agile quality - Joseph ...
JDD2014: QA to AQ: shifting from quality assurance to agile quality - Joseph ...JDD2014: QA to AQ: shifting from quality assurance to agile quality - Joseph ...
JDD2014: QA to AQ: shifting from quality assurance to agile quality - Joseph ...
 
JDD2014: How to defeat feature gluttony - Katarzyna Mrówca
JDD2014: How to defeat feature gluttony - Katarzyna MrówcaJDD2014: How to defeat feature gluttony - Katarzyna Mrówca
JDD2014: How to defeat feature gluttony - Katarzyna Mrówca
 
JDD2014: The responsible developer - Thomas Sundberg
JDD2014: The responsible developer - Thomas SundbergJDD2014: The responsible developer - Thomas Sundberg
JDD2014: The responsible developer - Thomas Sundberg
 
PLNOG 13: Sebastian Pasternacki: Standard 802.11e, a usługi multimedialne w s...
PLNOG 13: Sebastian Pasternacki: Standard 802.11e, a usługi multimedialne w s...PLNOG 13: Sebastian Pasternacki: Standard 802.11e, a usługi multimedialne w s...
PLNOG 13: Sebastian Pasternacki: Standard 802.11e, a usługi multimedialne w s...
 
JDD2014: Introduction to OSGi - Paul Bakker
JDD2014: Introduction to OSGi - Paul BakkerJDD2014: Introduction to OSGi - Paul Bakker
JDD2014: Introduction to OSGi - Paul Bakker
 
JDD2014: Real life lambdas - Peter Lawrey
JDD2014: Real life lambdas - Peter LawreyJDD2014: Real life lambdas - Peter Lawrey
JDD2014: Real life lambdas - Peter Lawrey
 
PLNOG16: Praktyczne zastosowania technologii SDN w  6 4 2 0 Kolumna 1 Kolumn...
PLNOG16: Praktyczne zastosowania technologii SDN w  6 4 2 0 Kolumna 1 Kolumn...PLNOG16: Praktyczne zastosowania technologii SDN w  6 4 2 0 Kolumna 1 Kolumn...
PLNOG16: Praktyczne zastosowania technologii SDN w  6 4 2 0 Kolumna 1 Kolumn...
 
PLNOG16: Jak wykorzystać BRAS/BNG na platformach Cisco w celu świadczenia dod...
PLNOG16: Jak wykorzystać BRAS/BNG na platformach Cisco w celu świadczenia dod...PLNOG16: Jak wykorzystać BRAS/BNG na platformach Cisco w celu świadczenia dod...
PLNOG16: Jak wykorzystać BRAS/BNG na platformach Cisco w celu świadczenia dod...
 
PLNOG16: Jak systemy wideokonferencyjne pomogły osiągnąć mi sukces, Zygmunt Ł...
PLNOG16: Jak systemy wideokonferencyjne pomogły osiągnąć mi sukces, Zygmunt Ł...PLNOG16: Jak systemy wideokonferencyjne pomogły osiągnąć mi sukces, Zygmunt Ł...
PLNOG16: Jak systemy wideokonferencyjne pomogły osiągnąć mi sukces, Zygmunt Ł...
 
PLNOG16: Ochrona AntiDDoS, lokalnie oraz w chmurze, Paweł Wachełka
PLNOG16: Ochrona AntiDDoS, lokalnie oraz w chmurze, Paweł WachełkaPLNOG16: Ochrona AntiDDoS, lokalnie oraz w chmurze, Paweł Wachełka
PLNOG16: Ochrona AntiDDoS, lokalnie oraz w chmurze, Paweł Wachełka
 
PLNOG16: Dell One Network – Unifikacja sieci LAN, Andrzej Oleszek
PLNOG16: Dell One Network – Unifikacja sieci LAN, Andrzej OleszekPLNOG16: Dell One Network – Unifikacja sieci LAN, Andrzej Oleszek
PLNOG16: Dell One Network – Unifikacja sieci LAN, Andrzej Oleszek
 
PLNOG16: ZTP – Zero Touch Provisioning in use, Marek Plaza
PLNOG16: ZTP – Zero Touch Provisioning in use, Marek PlazaPLNOG16: ZTP – Zero Touch Provisioning in use, Marek Plaza
PLNOG16: ZTP – Zero Touch Provisioning in use, Marek Plaza
 
PLNOG16: When and Why use Fortinet Infrastructure Wireless solution, Brian An...
PLNOG16: When and Why use Fortinet Infrastructure Wireless solution, Brian An...PLNOG16: When and Why use Fortinet Infrastructure Wireless solution, Brian An...
PLNOG16: When and Why use Fortinet Infrastructure Wireless solution, Brian An...
 
PLNOG16: Budowa DC Świadczenie usług dla klientów, Łukasz Bromirski, Piotr ...
PLNOG16: Budowa DC Świadczenie usług dla klientów, Łukasz Bromirski, Piotr ...PLNOG16: Budowa DC Świadczenie usług dla klientów, Łukasz Bromirski, Piotr ...
PLNOG16: Budowa DC Świadczenie usług dla klientów, Łukasz Bromirski, Piotr ...
 
PLNOG16: Wielopunktowy VPN, Piotr Głaska
PLNOG16: Wielopunktowy VPN, Piotr GłaskaPLNOG16: Wielopunktowy VPN, Piotr Głaska
PLNOG16: Wielopunktowy VPN, Piotr Głaska
 
PLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
PLNOG16: Data center interconnect dla opornych, Krzysztof MazepaPLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
PLNOG16: Data center interconnect dla opornych, Krzysztof Mazepa
 
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
 

Similar to JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn

Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesJérôme Petazzoni
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014Carlo Bonamico
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
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 - Der Wal in der Kiste
Docker - Der Wal in der KisteDocker - Der Wal in der Kiste
Docker - Der Wal in der KisteUlrich Krause
 
Ruby microservices with Docker - Sergii Koba
Ruby microservices with Docker -  Sergii KobaRuby microservices with Docker -  Sergii Koba
Ruby microservices with Docker - Sergii KobaRuby Meditation
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 applicationRoman Rodomansky
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerJérôme Petazzoni
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안양재동 코드랩
 
Docker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDocker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDaniel Nüst
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionBen Hall
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 augVincent De Smet
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationErica Windisch
 
Docker puebla bday #4 celebration
Docker puebla bday #4 celebrationDocker puebla bday #4 celebration
Docker puebla bday #4 celebrationRamon Morales
 

Similar to JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn (20)

Docker+java
Docker+javaDocker+java
Docker+java
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
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 - Der Wal in der Kiste
Docker - Der Wal in der KisteDocker - Der Wal in der Kiste
Docker - Der Wal in der Kiste
 
Ruby microservices with Docker - Sergii Koba
Ruby microservices with Docker -  Sergii KobaRuby microservices with Docker -  Sergii Koba
Ruby microservices with Docker - Sergii Koba
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 application
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDocker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, Bonn
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
Docker puebla bday #4 celebration
Docker puebla bday #4 celebrationDocker puebla bday #4 celebration
Docker puebla bday #4 celebration
 

Recently uploaded

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%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 midrandmasabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
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-learnAmarnathKambale
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%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 tembisamasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
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...panagenda
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%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 masabamasaba
 

Recently uploaded (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%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
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
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
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%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
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
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...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%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
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 

JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn

  • 1. docker.io versioned Lightweight Linux Containers dominik dorn @ JDD 2014
  • 2. Overview ● Containers – Why? ● Containers vs. VMs ● Docker ● ( fig, jDocker, shipyard, Jenkins) ● CoreOs ● Panamax 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 3. The Challenge Static website User DB Redis + redis-sentinel Web frontend Queue Analytics DB Background workers API endpoint nginx 1.7.6 + modsecurity + openssl + bootstrap 2 postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK PlayFramework + sass BatchEE, jRedis, libcurl + ffmpeg + libopencv + nodejs + phantomjs Spray / Akka, jredis + postgresql-jdbc, anorm Development VM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers Multiplicity of Stacks Multiplicity of hardware environments Production Cluster Customer Data Center Do services and apps interact appropriately? smoothly and Can I migrate quickly?
  • 4. The Matrix From Hell Static website Web frontend Background workers User DB Analytics DB Queue ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Developm ent VM QA Server Single Prod Server Onsite Cluster Public Cloud Contribut or’s laptop Customer Servers
  • 5. Multiplicity of Goods Multipilicity of methods for transporting/stor ing Do I worry about interact (e.g. how goods next to spices) cofee beans Can I transport quickly and (e.g. from boat to smoothly train to truck) Cargo Transport Pre-1960
  • 6. Also a matrix from hell ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 7. Multiplicity Multiplicity of methods for of Goods transporting/storing Do I worry about how coffee beans next to goods interact (e.g. Solution: Intermodal Shipping Container spices) Can I transport quickly (e.g. from boat to train and smoothly to truck) …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery.
  • 8. Docker is a shipping container system for code Static website User DB Web frontend Queue Analytics DB Develop ment VM …that can be manipulated using standard operations and run consistently on virtually any hardware platform QA server Public Cloud Contributor’ s laptop Multiplicity of Stacks Multiplicity of hardware environments Production Cluster Customer Data Center Do services and apps interact appropriately? smoothly and Can I migrate quickly An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container…
  • 9. Docker eliminates the matrix from Hell Static website Web frontend Background workers User DB Analytics DB Queue Develop ment VM QA Server Single Prod Server Onsite Cluster Public Cloud Contribut or’s laptop Custome r Servers
  • 10. Containers vs. VMs App A Bins / Libs Bins / Libs Bins / Libs Hypervisor (Type 2) Host OS Server Gu est OS App A’ Gu est OS App B Gu est OS App A Docker Host OS Server App A Bins/Libs Bins/Libs App B App B App B App B VM Container Containers are isolated, but share OS and, where appropriate, bins/libraries Gu est OS Gu est OS …result is significantly faster deployment, much less overhead, easier migration, faster restart
  • 11. Docker – Union File System ● aUFS – another UFS ● GIT for file systems ● Layering ● Copy on Write FS ● Can handle millions of branches ● Docker-Limitation (June 2014) ● 127 Levels (w/o kernel mod) 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 12. Docker – installation ● On MacOS X 10.6 or newer 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 13. Docker – installation ● On Ubuntu / Debian wget -qO- https://get.docker.io/ | sh # does basically this sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 $ sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" $ sudo apt-get update $ sudo apt-get install lxc-docker 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 14. Docker – installation ● If you would like to use Docker as a non-root user, you should now consider adding your user to the "docker" group with something like: sudo usermod -aG docker domdorn ● domdorn@camelion ~ % docker –version Docker version 1.0.0, build 63fe64c ● Use the install script, ubuntu/debian have old versions of docker in their Repos! 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 15. Docker – create a container $ docker pull ubuntu $ docker run -i -t ubuntu /bin/bash // -i interactive // -t template *hackhack* *hackhack* 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 16. Docker – commiting ● domdorn@camelion ~ % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS 3cf5b7a52e4d ubuntu:14.04 /bin/bash 9 minutes ago Up 9 minutes ● domdorn@camelion ~ % docker commit 3cf5b7a52e4d domdorn/nginx 8b8401a1a847ec4ab9055e4d6a7698e5906727f8661a655abe8b614b7fdc9c61 ● domdorn@camelion ~ % docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE domdorn/nginx latest 8b8401a1a847 About a minute ago 349 MB 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 17. Docker – running ● domdorn@camelion ~ % docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE domdorn/nginx latest 8b8401a1a847 About a minute ago 349 MB ● docker run -d -t domdorn/nginx /usr/sbin/nginx -g 'daemon off;' bdf571c2d6b7a9ef08b3d1e4795b0605c6034987478e1dfd4c185ba820c73435 ● docker inspect --format '{{ .NetworkSettings.IPAddress }}' bdf571c2d6b 172.17.0.9 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 18. Docker – publish ports ● docker run -p 9000:80 -d -t domdorn/nginx /usr/sbin/nginx -g 'daemon off;' d5efd9916468c6feed90021eaf862be3fdfd36cafa20b623e51efb1cebdb41ca 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 19. Docker – using volumes ● Map folders from the host / other containers into a container (bind-mount) docker run -v /var/www/www.jsug.at/htdocs:/usr/share/nginx/html --name 'jddhttp' -d -t domdorn/nginx /usr/sbin/nginx -g 'daemon off;' 29fcdbc6775d4200d14696299900fa88c1bc7da9e19a10866940eded69cd26a4 ● docker inspect --format '{{ .NetworkSettings.IPAddress }}' jddhttp 172.17.0.32 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 20. Docker – importing Volumes ● docker run --volumes-from=126995e77d9b -i -t ubuntu cat /usr/share/nginx/html/index.html <html> <head> <title>hello JDD</title> </head> <body> <h1>Hello JDD!</h1> </body> </html> 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 21. Docker – linking containers ● docker run --link=jddhttp:httpserver -i -t ubuntu ping -c 4 httpserver PING httpserver (172.17.0.25) 56(84) bytes of data. 64 bytes from httpserver (172.17.0.25): icmp_seq=1 ttl=64 time=0.125 ms 64 bytes from httpserver (172.17.0.25): icmp_seq=2 ttl=64 time=0.065 ms 64 bytes from httpserver (172.17.0.25): icmp_seq=3 ttl=64 time=0.069 ms 64 bytes from httpserver (172.17.0.25): icmp_seq=4 ttl=64 time=0.081 ms --- httpserver ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.065/0.085/0.125/0.023 ms 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 22. Docker - Dockerfile ● Recipe to create Docker Containers ● Commands ● ADD – copies files from the file system into the docker container ● RUN – runs a command to build the image (e.g. apt-get install wget) ● CMD – runs a command when the container gets instantiated ( e.g. apt-get update ) ● ENTRYPOINT – default command to run when starting a container (e.g. /usr/sbin/nginx ) ● ENV – set environment variables ● EXPOSE – make a port available for incoming connections ● FROM – base docker image, e.g. domdorn/nginx or “ubuntu” ● MAINTAINER – name of the maintainer ● USER – execute the entrypoint under a specific UID ● VOLUME – defines directories that get exposed as volumes ● WORKDIR – sets the workdir for the entrypoint 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 23. Fig ● http://orchardup.github.io/fig/index.html ● Define your app's environment with Docker so it can be reproduced anywhere Dockerfile: FROM orchardup/python:2.7 ADD . /code WORKDIR /code RUN pip install -r requirements.txt 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 24. Fig ● Define the services that make up your app so they can be run together in an isolated environment: fig.yml: web: build: . command: python app.py links: - db ports: - "8000:8000" db: image: orchardup/postgresql 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 25. Fig ● Then type fig up, and Fig will start and run your entire app: 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 26. jDocker ● https://github.com/nirima/jDocker ● Fluent-API for Docker ● Requires TCP-Socket enabled ● Create/Delete/Start/Stop Docker Containers ● Tests: https://github.com/nirima/jDocker/blob/master/sr c/test/java/com/kpelykh/docker/client/test/Docke rClientTest.java 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 27. shipyard ● https://github.com/shipyard/shipyard ● Webapp to manage docker containers ● docker run -i -t -v /var/run/docker.sock:/docker.sock shipyard/deploy setup 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 28. Shipyard - Management 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 29. Shipyard - Hosts 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 30. Shipyard - Metrics 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 31. jenkins ● https://wiki.jenkins-ci. org/display/JENKINS/Docker+Plugin ● Container/Slave per Build ● Uses jDocker behind the scenes 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 32. Jenkins - Config 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 33. CoreOS ● Minimal & optimized OS to run Docker containers ● https://coreos.com/ ● “Linux for Massive Server Deployments CoreOS enables warehouse-scale computing on top of a minimal, modern operating system.” 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 34. CoreOS 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 35. CoreOS 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 36. CoreOS 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 37. CoreOS 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 38. CoreOS 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 39. Panamax ● By the Docker founders (Cloudcentric) ● Apache 2 Licensed ● Best practice combination of Docker-Tools ( fig, fleet, supervisord, coreos, etcd, …) ● Web-UI for Docker-Configuration ● Template-System ● Panamax-Store: “AppStore” for Templates ● Github integration 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 40. Links / Literature ● http://www.slideshare.net/dotCloud/docker-intr o-november ● http://shipyard-project.com/ ● http://www.coreos.com ● http://orchardup.github.io/fig/index.html ● https://wiki.jenkins-ci.org/display/JENKINS/Doc ker+Plugin ● http://panamax.io 2014-10-14 Dominik Dorn – docker.io @ JDD14
  • 41. That's it! twitter: @domdorn mail: dominik@dominikdorn.com 2014-10-14 Dominik Dorn – docker.io @ JDD14