SlideShare a Scribd company logo
1
WHAT IS THIS "DOCKER" ?
Jean-Marc Meessen
What is this  "docker"
I    had    a dream !
2
3
My own copy of the database
… that I can break at will
My own iso-prod test environment
… that I can break at will
Easily share my con guration with colleagues.
DEVOPS !
4
...And it became true !
5
6
HELLO !
Jean-Marc MEESSEN
Brussels, Belgium
"Brol Engineer" @ Worldline
Senior ESB Java Developer
Development Infrastructure Expert
Mentor
Starting in January at Cloudbees
7
0:00 / 0:32
8
AND YOU ?
Developers ?
Ops ?
Security ?
Managers ?
9
YOU AND DOCKER ?
Never heard about it ?
Some "Proof of Concept" ?
Use it every day ?
In Production ?
1011
TODAY’S TALK
What are "containers" ?
How to start ?
Docker for the Java Dev
What are "containers" ?
12
13
14
1516
DOCKER CONTAINERS
is not a virtualization technique,
rather an isolation technology.
DOCKER CONTAINERS ARE :
cgroups (control groups)
limits CPU, memory, IOs, etc
NameSpaces
isolates and virtualizes system resources
(process, mounts, networking)
17
18
APPLICATIONS PACKAGED WITH SYSTEM
DEPENDENCIES
new packaging paradigm
one application works on Ubuntu with Python 2
second application works on Centos 7.2 with Python 3
19
WHAT DOCKER SOLVES
Escape the dependencies hell
Fast iterative Infrastructure improvement
Container "loader" & Container "shipper"
(no more "it worked in Dev, now it’s OPS problem")
easy onboarding of Devs.
"Own test environment"
20
How to start ?
21
22
NEED A CONTAINER ENABLED "KERNEL"
AND FOR WINDOWS OR MAC OS X ?
Install a virtual machine (ex VirtualBox)
Ready made bundles:
Docker Toolbox
New, better integrated, clients
Using (corporate) proxies: advanced topic
23
How does it work ?
24
25
LET ME SHOW YOU ….
HOW DO YOU GET IMAGES ?
Note: an image is immutable
you get them from
DockerHub
Corporate Registry
Or build it yourself
2627
BUILDING A DOCKER IMAGE
Described in a Docker le
FROM ubuntu
MAINTAINER Kimbro Staken
RUN apt-get install -y software-properties-common python
RUN add-apt-repository ppa:chris-lea/node.js
RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ precise universe" >> /etc/apt/
RUN apt-get update
RUN apt-get install -y nodejs
#RUN apt-get install -y nodejs=0.6.12~dfsg1-1ubuntu1
RUN mkdir /var/www
ADD app.js /var/www/app.js
CMD ["/usr/bin/node", "/var/www/app.js"]
DESCRIBE A COMPLETE INFRASTRUCTURE
Complex systems
Fuse ESB server
MQ series servers
Oracle database
Use "docker-compose"
28
29
DOCKER-COMPOSE
one place to de ne
your components
how to (docker) build them
what container should start rst
networks (who can talk to whom)
(data) volumes
Security restrictions
Etc.
30
"BUILD, SHIP AND RUN"
31
HOW TO LEARN ?
Many tutorials available on-line
Developer
Beginner Linux Containers
Beginner Windows Containers
Intermediate (both Linux and Windows)
Operations
Beginner
Intermediate
https://training.docker.com/category/self-paced-online
3233
HOW TO LEARN ?
Docker playground
http://play-with-docker.com/
Where is Docker
heading ?
34
DOCKER INC.
Docker has been surprised by this techno " are"
Very, very lively Open Source community
"Batteries included"
Standardization (RunC, etc.)
35
WELL GROUNDED APPROACH
Coming from the web hosting world
3637
STATUS
Was good for development and integration
Start to be usable for Real Life Run
Since December 2015
STATUS
Start to offer enterprise level solutions
"Docker Datacenter"
Trusted Registry (Image scanning, sig/auth)
Docker Universal Control Plane
Docker Cloud
3839
Docker for Java builders
40
INTEGRATION TESTS
4142
MAVEN INTEGRATION
using fabric8io/docker-maven-plugin
MAVEN SEQUENCE
pre-integration-test
execute Docker "build" and "start" goals
execute FlyWay migration
integration-test
execute Failsafe "verify" goal
integration test make extensive use of DBunit
post-integration-test
execute Docker "stop" goal
43
MAVEN INTEGRATION
additional options
(networking, volumes, docker-compose)
ts nicely in Jenkins
especially V2 and pipeline
(but this is an other story)
44
BASE IMAGES
several base images are available, choose what is best
suited
openjdk (jdk and jre)
openjdk:alpine
maven
Oracle JDK/JRE is not available from the shelf anymore.
Need to build it yourself
4546
DEPLOYMENT MODEL
app-server
embedded (self contained JAR)
47
INSTALLATION MODES/TEST MODES
add the JAR in the right directory
execute the app installation script at image build time
execute the app installation script at container run
SINGLE PURPOSE JVM
thinks it is alone in the world
JVM defaults based on the machine characteristics
watch out
several JVMs (in Docker) are running on the same
machine
48
JVM CONFIGURATION
as on a physical host you need to speci y/limit the
memory/cpu requirement of your JVM
Docker offer the same tools. use them
orchestrator like mesos or kubernetes can help you for
this
beware of Docker exec in Production
49
DOCKER IN PRODUCTION
my point of view of Docker in Production
you need to have a very good understanding of what you
do
still in the early phase
Docker works very well for state less application
State full (with databases, etc) still in infancy. Recent
announcement very promising
50
Is Docker secure in
Production ?
This is, in general, the reaction…
5152
53
THE SITUATION WITH DOCKER
54
WHAT IS HE LOOKING FOR?
55
WHAT IS HE LOOKING FOR?
(user) Data
Access other systems
Privilege elevation
56
WHAT ARE THE DANGERS WITH DOCKER?
Kernel exploits
Denial of service attack
Container breakout
Poisoned images
Compromising Secrets
57
IS DOCKER "SECURE" ?
A lot of expectations, of illusions
"Silver bullet"
Competition positioning (VM, Con guration Mgt)
Enviousness
5859
"CONTAINER DO NOT CONTAIN !"
Wrong perception by the "public"
Tremendous progress in 3 years
but usable…
60
EQUIPPED WITH SECURITY TOOLS
61
IN PARTICULAR
Cap drop
User namespace
selinux / apparmor
CAPABILITY DROP
options to the "Docker run"
goes beyond the root/non-root dichotomy
example: container with NTP
docker run --cap-drop ALL --cap-add SYS_TIME ntpd
6263
SELINUX / APPARMOR
pro les are called at each "Docker run"
Allow to go much further in the granularity
this program (ex ping) has no access to the network
#include <tunables/global>
profile docker-default flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/base>
network,
capability,
file,
umount,
deny @{PROC}/{*,**^[0-9*],sys/kernel/shm*} wkx,
deny @{PROC}/sysrq-trigger rwklx,
deny mount,
deny /sys/[^f]*/** wklx,
deny /sys/f[^s]*/** wklx,
65
"CLEAN" CONTAINERS?
64
66
Malicious contents
Contains vulnerabilities or bugged applications
67
TRUSTED REGISTRY
Systematic use of TLS
Re-enforcement of the layers integrity
Upgraded with version 1.10
NOTARY
System of image signature and its validation
Validation of the author and content non alteration
Protection Against Image Forgery
Protection Against Replay Attacks
Protection Against Key Compromise
Clever usage of physical key storage
68
NAUTILUS
(now called "Docker Security Scanning")
Docker image scanner
vulnerabilities (CVE check)
Licence validation
Image Optimisation
Simpli ed functional tests
69
RECOMMENDATIONS
70
RECOMMENDATIONS
Keep your host/images up-to-date
"Bulkheading"
Seperate disk partition for Docker
Don’t run other (non-Docker) applications on the same
host
Container in a VM ?
Limit inter-container communications
log/audit trails
Access control
71
RECOMMENDATIONS
Do not use "priviliged" if it is not necessary
Applicative users in the containers
Where are my images coming from ? are they up-to-date ?
Access rights on the les
7273
CONCLUSIONS
"Is Docker 'secure' ?"
No more or less then the door of an apartment
Security is everyone’s business : DevOps + SecOps
74
THANK YOU !
CONTACT INFO
Twitter: @jm_meessen
jean-marc@meessen-web.org

More Related Content

PDF
DCSF19 Dockerfile Best Practices
Docker, Inc.
 
PDF
Docker, Linux Containers, and Security: Does It Add Up?
Jérôme Petazzoni
 
PDF
Corwin on Containers
Corwin Brown
 
PDF
Introduction to Docker and deployment and Azure
Jérôme Petazzoni
 
PPTX
KVM and docker LXC Benchmarking with OpenStack
Boden Russell
 
PPTX
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon
 
PDF
Docker and Puppet — Puppet Camp L.A. — SCALE12X
Jérôme Petazzoni
 
PDF
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Docker, Inc.
 
DCSF19 Dockerfile Best Practices
Docker, Inc.
 
Docker, Linux Containers, and Security: Does It Add Up?
Jérôme Petazzoni
 
Corwin on Containers
Corwin Brown
 
Introduction to Docker and deployment and Azure
Jérôme Petazzoni
 
KVM and docker LXC Benchmarking with OpenStack
Boden Russell
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Patrick Chanezon
 
Docker and Puppet — Puppet Camp L.A. — SCALE12X
Jérôme Petazzoni
 
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Docker, Inc.
 

What's hot (20)

PDF
Hudson at FISL 2009
Arun Gupta
 
PDF
Tech Talk - Vagrant
Thomas Krille
 
PDF
Chicago Docker Meetup Presentation - Mediafly
Mediafly
 
PDF
Microservices. Microservices everywhere! (At OSCON 2015)
Jérôme Petazzoni
 
PDF
Your first dive into systemd!
Etsuji Nakai
 
PDF
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Partner S.A.
 
PDF
Docker Tips And Tricks at the Docker Beijing Meetup
Jérôme Petazzoni
 
PDF
Docker: automation for the rest of us
Jérôme Petazzoni
 
PDF
Docker intro
Frei Zhang
 
PDF
LXC, Docker, and the future of software delivery | LinuxCon 2013
dotCloud
 
PDF
DockerCon EU 2018 - Dockerfile Best Practices
Tibor Vass
 
PDF
The Lies We Tell Our Code (#seascale 2015 04-22)
Casey Bisson
 
PDF
Rebuild presentation - IoT Israel MeetUp
Yan Vugenfirer
 
PDF
Containers: from development to production at DevNation 2015
Jérôme Petazzoni
 
PDF
Solving Real World Production Problems with Docker
Marc Campbell
 
PDF
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Jérôme Petazzoni
 
PDF
NFD9 - Matt Peterson, Data Center Operations
Cumulus Networks
 
PDF
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Jérôme Petazzoni
 
PDF
Orchestration for the rest of us
Jérôme Petazzoni
 
PDF
Dev Environments: The Next Generation
Travis Thieman
 
Hudson at FISL 2009
Arun Gupta
 
Tech Talk - Vagrant
Thomas Krille
 
Chicago Docker Meetup Presentation - Mediafly
Mediafly
 
Microservices. Microservices everywhere! (At OSCON 2015)
Jérôme Petazzoni
 
Your first dive into systemd!
Etsuji Nakai
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Partner S.A.
 
Docker Tips And Tricks at the Docker Beijing Meetup
Jérôme Petazzoni
 
Docker: automation for the rest of us
Jérôme Petazzoni
 
Docker intro
Frei Zhang
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
dotCloud
 
DockerCon EU 2018 - Dockerfile Best Practices
Tibor Vass
 
The Lies We Tell Our Code (#seascale 2015 04-22)
Casey Bisson
 
Rebuild presentation - IoT Israel MeetUp
Yan Vugenfirer
 
Containers: from development to production at DevNation 2015
Jérôme Petazzoni
 
Solving Real World Production Problems with Docker
Marc Campbell
 
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Jérôme Petazzoni
 
NFD9 - Matt Peterson, Data Center Operations
Cumulus Networks
 
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Jérôme Petazzoni
 
Orchestration for the rest of us
Jérôme Petazzoni
 
Dev Environments: The Next Generation
Travis Thieman
 
Ad

Viewers also liked (16)

PPT
Jenkins on Docker
Craig Trim
 
PDF
Dockerized maven
Matthias Bertschy
 
PDF
From Monolith to Docker Distributed Applications
Carlos Sanchez
 
PDF
Testing Distributed Micro Services. Agile Testing Days 2017
Carlos Sanchez
 
PPTX
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
NLJUG
 
PPTX
TDC2016SP - Testes unitários e testes de integração de aplicações Java utiliz...
tdc-globalcode
 
PPTX
Consumer Driven Contracts for microservices
Reshmi Krishna
 
PDF
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Carlos Sanchez
 
PDF
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Carlos Sanchez
 
PDF
Developing Java based microservices ready for the world of containers
Claus Ibsen
 
PDF
Continuous Integration using Docker & Jenkins
B1 Systems GmbH
 
PDF
Jenkins Docker
Alex Soto
 
PDF
Using Docker for Testing
Carlos Sanchez
 
PDF
Docker for Java Developers
Imesh Gunaratne
 
PPTX
Docker Online Meetup: Announcing Docker CE + EE
Docker, Inc.
 
PPTX
Faster Java EE Builds with Gradle
Ryan Cuprak
 
Jenkins on Docker
Craig Trim
 
Dockerized maven
Matthias Bertschy
 
From Monolith to Docker Distributed Applications
Carlos Sanchez
 
Testing Distributed Micro Services. Agile Testing Days 2017
Carlos Sanchez
 
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
NLJUG
 
TDC2016SP - Testes unitários e testes de integração de aplicações Java utiliz...
tdc-globalcode
 
Consumer Driven Contracts for microservices
Reshmi Krishna
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Carlos Sanchez
 
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Carlos Sanchez
 
Developing Java based microservices ready for the world of containers
Claus Ibsen
 
Continuous Integration using Docker & Jenkins
B1 Systems GmbH
 
Jenkins Docker
Alex Soto
 
Using Docker for Testing
Carlos Sanchez
 
Docker for Java Developers
Imesh Gunaratne
 
Docker Online Meetup: Announcing Docker CE + EE
Docker, Inc.
 
Faster Java EE Builds with Gradle
Ryan Cuprak
 
Ad

Similar to What is this "docker" (20)

PPTX
Docker Ecosystem on Azure
Patrick Chanezon
 
PDF
Docker dDessi november 2015
Massimiliano Dessì
 
PDF
codemotion-docker-2014
Carlo Bonamico
 
PDF
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
PDF
DCSF 19 Building Your Development Pipeline
Docker, Inc.
 
PPTX
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
PDF
Intro to Docker
Tim Haak
 
PDF
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
Codemotion
 
PDF
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Erica Windisch
 
PPTX
Docker In Brief
Ritu Kamthan
 
PDF
Docker how to
Patryk Omiotek
 
PPTX
Docker 101 Checonf 2016
Patrick Chanezon
 
PPTX
Docker training
Kiran Kumar
 
PDF
Docker: A New Way to Turbocharging Your Apps Development
msyukor
 
PDF
The age of orchestration: from Docker basics to cluster management
Nicola Paolucci
 
PPTX
Docker Fundamasadsasdasdassadentals 101 - Dark.pptx
MuhamedAhmed35
 
PDF
Containers, Docker, and Microservices: the Terrific Trio
Jérôme Petazzoni
 
ODP
Linux containers & Devops
Maciej Lasyk
 
PDF
VMware@Night: Container & Virtualisierung
Digicomp Academy AG
 
PDF
VMware@Night Container and Virtualization
Opvizor, Inc.
 
Docker Ecosystem on Azure
Patrick Chanezon
 
Docker dDessi november 2015
Massimiliano Dessì
 
codemotion-docker-2014
Carlo Bonamico
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
DCSF 19 Building Your Development Pipeline
Docker, Inc.
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
Intro to Docker
Tim Haak
 
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
Codemotion
 
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Erica Windisch
 
Docker In Brief
Ritu Kamthan
 
Docker how to
Patryk Omiotek
 
Docker 101 Checonf 2016
Patrick Chanezon
 
Docker training
Kiran Kumar
 
Docker: A New Way to Turbocharging Your Apps Development
msyukor
 
The age of orchestration: from Docker basics to cluster management
Nicola Paolucci
 
Docker Fundamasadsasdasdassadentals 101 - Dark.pptx
MuhamedAhmed35
 
Containers, Docker, and Microservices: the Terrific Trio
Jérôme Petazzoni
 
Linux containers & Devops
Maciej Lasyk
 
VMware@Night: Container & Virtualisierung
Digicomp Academy AG
 
VMware@Night Container and Virtualization
Opvizor, Inc.
 

Recently uploaded (20)

PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
Presentation about variables and constant.pptx
safalsingh810
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Presentation about variables and constant.pptx
kr2589474
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Exploring AI Agents in Process Industries
amoreira6
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 

What is this "docker"