SlideShare a Scribd company logo
Docker Grunn
#10
Deep Blue Sea
February 27, 2019
• 19:30

Welcome + Docker intro
• 19:45

Peter Jaap - Kubernetes @ Elgentos
• 20:15

Joshua - Kubernetes @ Verifai
• 20:45

Arthur - Persistence & ELK stack
• 21:15

Container-borrel
Programme
Organization
Tijmen Klein
@timmipetit
Henk Bokhoven
@BOK
Joshua Peper
@joshuapeper
Sponsor
Future meetups
Got an interesting topic
or a nice location for the next Meetup?
Please let us know!
Friday, 10 may
2019
Intro: Wut?
Services in portable containers:
★ Web server
★ Database server
★ Workers
★ Compilers
★ Tests
★ Browsers
What to run?
★ Linux (native)
★ Mac (via xhyve hypervisor)
★ Windows (via Hyper-V)
Where?
Images !== Containers
&&
Containers !== Images
Image: immutable

like a CD-ROM or class
Container: instance

like memory boot volume or object
★ Docker Hub: collection of images
★ Find something nice
★ Run the container:

$ docker run docker/whalesay cowsay boo

How?
$ docker run docker/whalesay cowsay boo
Unable to find image 'docker/whalesay:latest' locally
latest: Pulling from docker/whalesay
e9e06b06e14c: Pull complete
a82efea989f9: Pull complete
37bea4ee0c81: Pull complete
07f8e8c5e660: Pull complete
676c4a1897e6: Pull complete
5b74edbcaa5b: Pull complete
1722f41ddcb5: Pull complete
99da72cfe067: Pull complete
5d5bd9951e26: Pull complete
fb434121fc77: Already exists
Digest: sha256:d6ee73f
Status: Downloaded newer image for docker/whalesay:latest
_____
< boo >
-----



## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
______ o __/
  __/
__________/
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker/whalesay latest fb434121fc77 3 hours ago 247 MB
Images
FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsay
Dockerfile:
$ docker build -t fortune-whale .
Sending build context to Docker daemon 2.048 kB
...snip...
Removing intermediate container cb53c9d09f3b
Successfully built c2c3152907b5
Start the build:
Build your own
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker/whalesay latest fb434121fc77 3 hours ago 247 MB
fortune-whale latest c2c3152907b5 4 minutes ago 275 MB
$ docker run fortune-whale
______________________________________
< You will be successful in your work. >
--------------------------------------



## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
______ o __/
  __/
__________/
Build your own
And start a container:
I want to run
containers in
production!
★ System for managing containerized applications
★ Easy deploying & scaling
★ Declarative configuration
★ Shitload of features
Kubernetes (k8s)
★ Pod: basic unit, runs 1 (or more) containers
★ Replication set: scale identical replicas of pods
★ Deployments: creates replication sets, responsible
for rolling updates, rollbacks
★ Service: abstraction for internal access to a set of
pods
★ Ingress: manages external access to service
Basic concepts
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello
spec:
selector:
matchLabels:
app: hello
replicas: 1
template:
metadata:
labels:
app: hello
spec:
containers:
- name: hello
image: gcr.io/google-samples/hello-app:1.0
ports:
- containerPort: 8080
k8s hello world
deployment.yaml
apiVersion: v1
kind: Service
metadata:
name: hello
spec:
ports:
- port: 8080
selector:
app: hello
Service & ingress
service.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hello
spec:
rules:
- host: 'hello.local'
http:
paths:
- backend:
serviceName: hello
servicePort: 8080
ingress.yaml
$ kubectl apply -f deployment.yaml -f service.yaml -f ingress.yaml
deployment.apps/hello created
service/hello created
ingress.extensions/hello created
$ kubectl get pods —output=wide
NAME READY STATUS RESTARTS AGE IP NODE
hello-867c96c46b-7lp4d 1/1 Running 0 2s 172.17.0.7 minikube
$ kubectl scale deployment hello --replicas=2
deployment.extensions/hello scaled
$ kubectl get pods —output=wide
NAME READY STATUS RESTARTS AGE IP NODE
hello-867c96c46b-xsntq 1/1 Running 0 11s 172.17.0.8 minikube
hello-867c96c46b-7lp4d 1/1 Running 0 1m 172.17.0.7 minikube
Apply
DockerGrunn 10 intro talk
DockerGrunn 10 intro talk
★ Jobs & Cronjobs
★ Stateful Sets
★ Persistent Volumes
★ Rolling updates & rollbacks
★ CPU/memory limitations
★ Liveness & readiness probes
★ Horizontal autoscaling
★ Configmaps & Secrets
★ Namespaces
★ etc etc
There’s more!
Thank u, next

More Related Content

PPTX
Introduction to Docker session (at Nairuby meetup)
PPTX
Cut your hair and get an azure webjob
PPTX
Cut your hair and get an azure webjob
PDF
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
PDF
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
PDF
Vagrant + Veewee : Barcampboston April 10-2011
PDF
Using Minikube for Node.js development
PDF
Hudson and Drupal
Introduction to Docker session (at Nairuby meetup)
Cut your hair and get an azure webjob
Cut your hair and get an azure webjob
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Vagrant + Veewee : Barcampboston April 10-2011
Using Minikube for Node.js development
Hudson and Drupal

What's hot (20)

PPTX
HTML5 Web Workers-unleashed
PDF
PDXPortland - Dockerize Django
PDF
node-webkit : Make a magic from your a desktop app to desktop app!
PDF
Deploying a Location-Aware Ember Application
PDF
Ansible for Drupal infrastructure and deployments
PDF
Ansible 2 and Ansible Galaxy 2
PDF
Service Worker Presentation
KEY
New Perspectives on Performance
PDF
The Peanut Butter Cup of Web-dev: Plack and single page web apps
PDF
Service workers
PDF
Designing net-aws-glacier
PPTX
Bringing Javascript to the Desktop with Electron
PDF
PWA 與 Service Worker
PPTX
Untangling the web10
PDF
A Debugging Adventure: Journey through Ember.js Glue
PDF
Terraform and cloud.ca
PPTX
Building a PWA - For Everyone Who Is Scared To
PDF
ContainerDays NYC 2016: "OpenWhisk: A Serverless Computing Platform" (Rodric ...
PDF
We broke up with the monolith, and started dating #eventSourcing - #symfonyCat
PPTX
Jenkins Job DSL plugin
HTML5 Web Workers-unleashed
PDXPortland - Dockerize Django
node-webkit : Make a magic from your a desktop app to desktop app!
Deploying a Location-Aware Ember Application
Ansible for Drupal infrastructure and deployments
Ansible 2 and Ansible Galaxy 2
Service Worker Presentation
New Perspectives on Performance
The Peanut Butter Cup of Web-dev: Plack and single page web apps
Service workers
Designing net-aws-glacier
Bringing Javascript to the Desktop with Electron
PWA 與 Service Worker
Untangling the web10
A Debugging Adventure: Journey through Ember.js Glue
Terraform and cloud.ca
Building a PWA - For Everyone Who Is Scared To
ContainerDays NYC 2016: "OpenWhisk: A Serverless Computing Platform" (Rodric ...
We broke up with the monolith, and started dating #eventSourcing - #symfonyCat
Jenkins Job DSL plugin
Ad

Similar to DockerGrunn 10 intro talk (20)

PDF
A Hands-on Introduction to Docker
PPTX
Novices guide to docker
PDF
PDF
Láďa Prskavec: Docker.io
PDF
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
PDF
Docker by Example - Basics
PDF
Docker by Example - Basics
PPTX
Building a production-ready, fully-scalable Docker Swarm using Terraform & Pa...
PPTX
Pp docker-swarm-doxlon-28th-march-2017
PDF
Docker Containers: Developer’s experience and building robust developer envir...
PDF
Docker for mere mortals
PDF
Built in ci-cd with kubernetes, jenkins and helm
PDF
Deploying Elasticsearch on Docker with Weave
PDF
ConcourseCi overview
PDF
Docker, developers take power
PPTX
How to be successful running Docker in Production
PDF
Docker in Continuous Integration
PPTX
Dockercon EU 2015
PDF
Railsconf 2014 - Deploying Rails is Easier Thank It Looks
PDF
Sw install with_without_docker
A Hands-on Introduction to Docker
Novices guide to docker
Láďa Prskavec: Docker.io
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
Docker by Example - Basics
Docker by Example - Basics
Building a production-ready, fully-scalable Docker Swarm using Terraform & Pa...
Pp docker-swarm-doxlon-28th-march-2017
Docker Containers: Developer’s experience and building robust developer envir...
Docker for mere mortals
Built in ci-cd with kubernetes, jenkins and helm
Deploying Elasticsearch on Docker with Weave
ConcourseCi overview
Docker, developers take power
How to be successful running Docker in Production
Docker in Continuous Integration
Dockercon EU 2015
Railsconf 2014 - Deploying Rails is Easier Thank It Looks
Sw install with_without_docker
Ad

Recently uploaded (20)

PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Transform Your Business with a Software ERP System
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Digital Strategies for Manufacturing Companies
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Introduction to Artificial Intelligence
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Nekopoi APK 2025 free lastest update
PPTX
ai tools demonstartion for schools and inter college
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Essential Infomation Tech presentation.pptx
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
VVF-Customer-Presentation2025-Ver1.9.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Understanding Forklifts - TECH EHS Solution
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Transform Your Business with a Software ERP System
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Design an Analysis of Algorithms I-SECS-1021-03
Digital Strategies for Manufacturing Companies
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Introduction to Artificial Intelligence
Operating system designcfffgfgggggggvggggggggg
Nekopoi APK 2025 free lastest update
ai tools demonstartion for schools and inter college
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
How to Choose the Right IT Partner for Your Business in Malaysia
Essential Infomation Tech presentation.pptx
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Wondershare Filmora 15 Crack With Activation Key [2025

DockerGrunn 10 intro talk

  • 1. Docker Grunn #10 Deep Blue Sea February 27, 2019
  • 2. • 19:30
 Welcome + Docker intro • 19:45
 Peter Jaap - Kubernetes @ Elgentos • 20:15
 Joshua - Kubernetes @ Verifai • 20:45
 Arthur - Persistence & ELK stack • 21:15
 Container-borrel Programme
  • 5. Future meetups Got an interesting topic or a nice location for the next Meetup? Please let us know!
  • 8. Services in portable containers: ★ Web server ★ Database server ★ Workers ★ Compilers ★ Tests ★ Browsers What to run?
  • 9. ★ Linux (native) ★ Mac (via xhyve hypervisor) ★ Windows (via Hyper-V) Where?
  • 11. Image: immutable
 like a CD-ROM or class Container: instance
 like memory boot volume or object
  • 12. ★ Docker Hub: collection of images ★ Find something nice ★ Run the container:
 $ docker run docker/whalesay cowsay boo
 How?
  • 13. $ docker run docker/whalesay cowsay boo Unable to find image 'docker/whalesay:latest' locally latest: Pulling from docker/whalesay e9e06b06e14c: Pull complete a82efea989f9: Pull complete 37bea4ee0c81: Pull complete 07f8e8c5e660: Pull complete 676c4a1897e6: Pull complete 5b74edbcaa5b: Pull complete 1722f41ddcb5: Pull complete 99da72cfe067: Pull complete 5d5bd9951e26: Pull complete fb434121fc77: Already exists Digest: sha256:d6ee73f Status: Downloaded newer image for docker/whalesay:latest _____ < boo > ----- ## . ## ## ## == ## ## ## ## === /""""""""""""""""___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ ______ o __/ __/ __________/
  • 14. $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker/whalesay latest fb434121fc77 3 hours ago 247 MB Images
  • 15. FROM docker/whalesay:latest RUN apt-get -y update && apt-get install -y fortunes CMD /usr/games/fortune -a | cowsay Dockerfile: $ docker build -t fortune-whale . Sending build context to Docker daemon 2.048 kB ...snip... Removing intermediate container cb53c9d09f3b Successfully built c2c3152907b5 Start the build: Build your own
  • 16. $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker/whalesay latest fb434121fc77 3 hours ago 247 MB fortune-whale latest c2c3152907b5 4 minutes ago 275 MB $ docker run fortune-whale ______________________________________ < You will be successful in your work. > -------------------------------------- ## . ## ## ## == ## ## ## ## === /""""""""""""""""___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ ______ o __/ __/ __________/ Build your own And start a container:
  • 17. I want to run containers in production!
  • 18. ★ System for managing containerized applications ★ Easy deploying & scaling ★ Declarative configuration ★ Shitload of features Kubernetes (k8s)
  • 19. ★ Pod: basic unit, runs 1 (or more) containers ★ Replication set: scale identical replicas of pods ★ Deployments: creates replication sets, responsible for rolling updates, rollbacks ★ Service: abstraction for internal access to a set of pods ★ Ingress: manages external access to service Basic concepts
  • 20. apiVersion: apps/v1 kind: Deployment metadata: name: hello spec: selector: matchLabels: app: hello replicas: 1 template: metadata: labels: app: hello spec: containers: - name: hello image: gcr.io/google-samples/hello-app:1.0 ports: - containerPort: 8080 k8s hello world deployment.yaml
  • 21. apiVersion: v1 kind: Service metadata: name: hello spec: ports: - port: 8080 selector: app: hello Service & ingress service.yaml apiVersion: extensions/v1beta1 kind: Ingress metadata: name: hello spec: rules: - host: 'hello.local' http: paths: - backend: serviceName: hello servicePort: 8080 ingress.yaml
  • 22. $ kubectl apply -f deployment.yaml -f service.yaml -f ingress.yaml deployment.apps/hello created service/hello created ingress.extensions/hello created $ kubectl get pods —output=wide NAME READY STATUS RESTARTS AGE IP NODE hello-867c96c46b-7lp4d 1/1 Running 0 2s 172.17.0.7 minikube $ kubectl scale deployment hello --replicas=2 deployment.extensions/hello scaled $ kubectl get pods —output=wide NAME READY STATUS RESTARTS AGE IP NODE hello-867c96c46b-xsntq 1/1 Running 0 11s 172.17.0.8 minikube hello-867c96c46b-7lp4d 1/1 Running 0 1m 172.17.0.7 minikube Apply
  • 25. ★ Jobs & Cronjobs ★ Stateful Sets ★ Persistent Volumes ★ Rolling updates & rollbacks ★ CPU/memory limitations ★ Liveness & readiness probes ★ Horizontal autoscaling ★ Configmaps & Secrets ★ Namespaces ★ etc etc There’s more!