1. Build, Ship, Run
An open platform for distributed applications for
developers and sysadmins
Adam Štipák | @new_POPE | diagnose.me | rekurzia.sk
2. What is Docker?
Docker allows you to package an application
with all of its dependencies into a
standardized unit for software development.
3. How is this different from virtual machines?
Virtual machines Containers
4. How does this help you build better software?
● Accelerate Developer Onboarding
● Empower Developer Creativity
● Eliminate Environment Inconsistencies
● Distribute and share content
● Simply share your application with others
5. Ship More Software Faster
● Ship 7X More
● Quickly Scale
● Easily Remediate Issues
6. Docker products
● Docker Engine
● Docker Compose
● Docker Machine
● Docker Swarm
● Docker Registry
● and much more …
7. Docker Engine
$ docker
$ docker run hello-world
$ docker run debian:jessie bash
$ docker run -it debian:jessie bash
$ docker run -it -v $(pwd):/data debian:jessie bash
$ docker run -p 80:80 -v $(pwd):/usr/share/nginx/html nginx
8. Docker Engine - Dockerfile
Dockerfile is a text document. It is a blueprint for build
your custom image.
FROM debian:jessie
MAINTAINER adam@rekurzia.sk
RUN apt-get update
RUN apt-get install htop
9. Docker Compose
Docker Compose allows you to define your
multi-container application with all of its
dependencies in a single file …
docker-compose.y(a)ml
$ docker-compose
10. Docker Machine
Automate Docker provisioning
Supported Drivers: Amazon Web Services, Microsoft Azure,
Digital Ocean, Google Compute Engine, Generic, Microsoft
Hyper-V, OpenStack, Rackspace, Oracle VirtualBox, VMware
$ docker-machine create --driver=parallels foo