SlideShare a Scribd company logo
Docker to the rescue
of an Ops Team
Rachid
Zarouali
C.I.O Synolia
Twitter / Slack : Xinity
rachid.zarouali@synolia.com
Agenda
This talk is about:
● Monitoring (a bit)
● Private Registry
● CI/CD
● Security
● Docker experience
Once upon a time
An ops team starts a new project
Rebuild everything !
June 2014
A monitoring system from scratch
“Microservices” oriented
Replaceable parts
Some rules first !
Simple
Efficient
Extendable
Python based
Components
Collectd
Collectd proxy
Graphite
Grafana
Cabot (alerting)
Test your might !
Python 2.6 along with python 2.7
Different version of “some” libraries
Whisper backend (I/O storm)
Upstream repositories issues
Docker to the rescue
Save our project
Docker ? way too soon !
Barely no skills
Used only to do some testing
Pretty serious concerns
Ok let’s gamble !
Grow our docker fu
Write some Dockerfiles
Build images locally
Spawn PoC platform
…..
RUN echo "deb http://mirror.debian.ikoula.com/debian wheezy-backports main" >> /etc/apt/sources.list
RUN apt-get -qq update
RUN apt-get -qqy dist-upgrade
RUN apt-get -qqy --force-yes install vim python-cairo gunicorn supervisor (...)
RUN pip install whitenoise txamqp whisper==0.9.13 carbonate
RUN pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/lib" carbon==0.9.13
RUN pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/webapp"
graphite-web==0.9.13
ADD conf/nginx.conf /etc/nginx/nginx.conf
ADD conf/supervisord.conf /etc/supervisor/conf.d/grafana.conf
ADD initial_data.json /var/lib/graphite/webapp/graphite/initial_data.json
ADD conf/local_settings.py /var/lib/graphite/webapp/graphite/local_settings.py
ADD conf/carbon.conf /var/lib/graphite/conf/carbon.conf
ADD conf/storage-schemas.conf /var/lib/graphite/conf/storage-schemas.conf
RUN mkdir -p /var/lib/graphite/storage/whisper
RUN touch /var/lib/graphite/storage/graphite.db /var/lib/graphite/storage/index
RUN chmod 0775 /var/lib/graphite/storage /var/lib/graphite/storage/whisper
RUN python /var/lib/graphite/webapp/graphite/manage.py syncdb --noinput --pythonpath=/var/lib/graphite/webapp/graphite
--settings=settings
RUN chmod 0664 /var/lib/graphite/storage/graphite.db
RUN chown -R www-data /var/lib/graphite/storage
…..
WHAT ???
Container = OS …. Wait !
Too many layers ( 121+ layer issue)
Build time …. (20 to 30 minutes at best)
Huge Images (800+ Mo)
Unnecessary tools and libs
Bye Bye !!!!
We can do better !
Apply best Practices (@abbyfuller)
Implement simple CI/CD
Dockerfile Linting
Build a private registry
Deal with security concerns
…
RUN echo "APT::Install-Recommends false;" >> /etc/apt/apt.conf.d/00recommends 
&& echo "APT::Install-Suggests false;" >> /etc/apt/apt.conf.d/00recommends 
&& echo "APT::AutoRemove::RecommendsImportant false;" >> /etc/apt/apt.conf.d/00recommends 
&& echo "APT::AutoRemove::SuggestsImportant false;" >> /etc/apt/apt.conf.d/00recommends
ENV DEBIAN_FRONTEND noninteractive
ENV GRAPHITE_VERS 0.9.13
RUN apt-get -qqy update 
&& apt-get -qqy install python-cairo gunicorn git python2.7-dev wget ca-certificates python-flup expect sqlite3 libcairo2
libcairo2-dev pkg-config nodejs sqlite3 memcached python-ldap make gcc libffi-dev
RUN wget https://bootstrap.pypa.io/get-pip.py 
&& python get-pip.py 
&& pip install --no-cache-dir --upgrade setuptools 
&& pip install --no-cache-dir django django-admin-tools 
&& pip install --no-cache-dir whitenoise txamqp whisper==${GRAPHITE_VERS} carbonate 
&& pip install --no-cache-dir --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/lib"
carbon==${GRAPHITE_VERS} 
&& pip install --no-cache-dir --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/webapp"
graphite-web==${GRAPHITE_VERS}
RUN apt-get purge gcc make python2.7-dev libcairo2-dev libffi-dev python2.7-dev pkg-config -qqy 
&& apt-get clean
&& apt-get autoremove -qqy 
&& rm -rf /root/.cache /var/lib/apt/lists/* /tmp/* /var/tmp/*
...
Best practices :)
Few image layers ( < 20 )
Small image (~ 400Mo)
Lower footprint (100Mo)
Faster build time (~5Min)
We did it , we did it Yeah !
CI/CD Diagram
CI/CD Recipe
build:
image:
registry.synolia.com/synolia/dockerunitest:latest
publish:
docker:
repo: synomon_datastor
tag: $${BRANCH/master/latest}
file: Dockerfile
insecure: true
when:
repo: synolia/systeam-monitoring_datastor
branch: [develop, master]
notify:
hipchat:
from: "synoci"
room_id_or_name: "$$ROOM_ID"
auth_token: "$$AUTH_TOKEN"
notify: true
when:
success: false
failure: true
Dockerfile Linting
Build
Push
Notify (fail only)
Docker to the rescue II
The return of the hero moby
This isn’t over yet !
Docker udp issues
Tricky iptable filtering
Unstable data volume
Configuration management
Round 2: FIGHT !
Metric proxy (Collectd) on the
host!!
Simplify iptables rules
Mount directories (metrics)
A new path opens
To a brighter future
Epic loots !
No more dependency issues
Replaceable and movable parts
Greater security level
Clustering ready (Swarm/K8S)
Lessons learned
Caution when using udp IPv4
Config files out of the container
Don’t use env variables (security)
Use (abuse) automation
What’s next ?
Greater Docker challenges
Many rooms to grow
Reduce (even more) Image size
Sign Images (notary to the rescue)
Vulnerability scanning
Implement rolling upgrades
New docker based projects
Migrate Development platform (2015)
Swarm clustering (*)
Full scale Docker (*)
(*) Work In Progress
Thank You DockerCon !
PS: don’t forget to rate my talk :)

More Related Content

PDF
Taking Docker to Production: What You Need to Know and Decide
PPTX
Docker Bday #5, SF Edition: Introduction to Docker
PDF
LinuxKit Deep Dive
PDF
Docker for any type of workload and any IT Infrastructure
PDF
Docker for Java Developers - Fabiane Nardon and Arun gupta
PDF
Advanced Access Control with Docker EE
PDF
Moby and Kubernetes entitlements
PDF
DCSF19 How To Build Your Containerization Strategy
Taking Docker to Production: What You Need to Know and Decide
Docker Bday #5, SF Edition: Introduction to Docker
LinuxKit Deep Dive
Docker for any type of workload and any IT Infrastructure
Docker for Java Developers - Fabiane Nardon and Arun gupta
Advanced Access Control with Docker EE
Moby and Kubernetes entitlements
DCSF19 How To Build Your Containerization Strategy

What's hot (20)

PDF
Node.js Rocks in Docker for Dev and Ops
PDF
Docker Platform Internals: Taking runtimes and image creation to the next lev...
PDF
The Fairy Tale of the One Command Build Script
PDF
Docker Multi-arch All The Things
PDF
Kubernetes laravel and kubernetes
PDF
Modernizing Java Apps with Docker
PDF
Containerizing Hardware Accelerated Applications
PPTX
Immutable infrastructure with Docker and EC2
PDF
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
PDF
DockerCon EU 2015: Trading Bitcoin with Docker
PDF
DCSF19 CMD and Conquer: Containerizing the Monolith
PDF
Container orchestration from theory to practice
PPTX
Docker Roadshow 2016
PDF
Pluggable Infrastructure with CI/CD and Docker
PDF
DockerCon EU 2015: Shipping Manifests, Bill of Lading and Docker Metadata and...
PPTX
Docker Meetup 08 03-2016
PDF
Kubernetes in Docker
PPTX
What's New in Docker - February 2017
PDF
Practical Design Patterns in Docker Networking
PPTX
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Node.js Rocks in Docker for Dev and Ops
Docker Platform Internals: Taking runtimes and image creation to the next lev...
The Fairy Tale of the One Command Build Script
Docker Multi-arch All The Things
Kubernetes laravel and kubernetes
Modernizing Java Apps with Docker
Containerizing Hardware Accelerated Applications
Immutable infrastructure with Docker and EC2
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
DockerCon EU 2015: Trading Bitcoin with Docker
DCSF19 CMD and Conquer: Containerizing the Monolith
Container orchestration from theory to practice
Docker Roadshow 2016
Pluggable Infrastructure with CI/CD and Docker
DockerCon EU 2015: Shipping Manifests, Bill of Lading and Docker Metadata and...
Docker Meetup 08 03-2016
Kubernetes in Docker
What's New in Docker - February 2017
Practical Design Patterns in Docker Networking
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Ad

Viewers also liked (16)

PDF
Skynet vs. Planet of The Apes: Duel!
PDF
Repainting the Past with Distributed Machine Learning and Docker
PDF
Cilium: Kernel Native Security & DDOS Mitigation for Microservices with BPF
PDF
My Journey To Go
PDF
The Truth Behind Serverless
PDF
Experience the Swarm API in Virtual Reality
PDF
Continuous Packaging is also Mandatory for DevOps
PDF
Android Meets Docker
PDF
Docker?!?! But I'm a SysAdmin
PDF
Looking Under The Hood: containerD
PDF
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
PDF
What's New in Docker
PDF
The Value Of Diverse Experiences
PDF
Learning Docker from Square One
PPTX
Introduction to Docker - 2017
PDF
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Skynet vs. Planet of The Apes: Duel!
Repainting the Past with Distributed Machine Learning and Docker
Cilium: Kernel Native Security & DDOS Mitigation for Microservices with BPF
My Journey To Go
The Truth Behind Serverless
Experience the Swarm API in Virtual Reality
Continuous Packaging is also Mandatory for DevOps
Android Meets Docker
Docker?!?! But I'm a SysAdmin
Looking Under The Hood: containerD
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
What's New in Docker
The Value Of Diverse Experiences
Learning Docker from Square One
Introduction to Docker - 2017
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Ad

Similar to Docker to the Rescue of an Ops Team (20)

PDF
Dependencies Managers in C/C++. Using stdcpp 2014
PDF
Docker for data science
PDF
Rust & Python : Python WA October meetup
PDF
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
PDF
Software Quality Assurance Tooling - Wintersession 2024
PDF
Использование Docker в CI / Александр Акбашев (HERE Technologies)
PDF
Digital RSE: automated code quality checks - RSE group meeting
PDF
Princeton RSE: Building Python Packages (+binary)
PDF
Software Quality Assurance Tooling 2023
PDF
Docker module 1
PDF
Optimizing Your CI Pipelines
PDF
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
PDF
State of Big Data on ARM64 / AArch64 - Apache Bigtop
PDF
Instrumentación de entrega continua con Gitlab
PDF
Princeton Wintersession: Software Quality Assurance Tooling
ODP
Virtualenv
ODP
Docker engine - Indroduc
PDF
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
PPT
Qt native built for raspberry zero
PDF
Arbeiten mit distribute, pip und virtualenv
Dependencies Managers in C/C++. Using stdcpp 2014
Docker for data science
Rust & Python : Python WA October meetup
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Software Quality Assurance Tooling - Wintersession 2024
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Digital RSE: automated code quality checks - RSE group meeting
Princeton RSE: Building Python Packages (+binary)
Software Quality Assurance Tooling 2023
Docker module 1
Optimizing Your CI Pipelines
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
State of Big Data on ARM64 / AArch64 - Apache Bigtop
Instrumentación de entrega continua con Gitlab
Princeton Wintersession: Software Quality Assurance Tooling
Virtualenv
Docker engine - Indroduc
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Qt native built for raspberry zero
Arbeiten mit distribute, pip und virtualenv

More from Docker, Inc. (20)

PDF
Containerize Your Game Server for the Best Multiplayer Experience
PDF
How to Improve Your Image Builds Using Advance Docker Build
PDF
Build & Deploy Multi-Container Applications to AWS
PDF
Securing Your Containerized Applications with NGINX
PDF
How To Build and Run Node Apps with Docker and Compose
PDF
Hands-on Helm
PDF
Distributed Deep Learning with Docker at Salesforce
PDF
The First 10M Pulls: Building The Official Curl Image for Docker Hub
PDF
Monitoring in a Microservices World
PDF
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
PDF
Predicting Space Weather with Docker
PDF
Become a Docker Power User With Microsoft Visual Studio Code
PDF
How to Use Mirroring and Caching to Optimize your Container Registry
PDF
Monolithic to Microservices + Docker = SDLC on Steroids!
PDF
Kubernetes at Datadog Scale
PDF
Labels, Labels, Labels
PDF
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
PDF
Build & Deploy Multi-Container Applications to AWS
PDF
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
PDF
Developing with Docker for the Arm Architecture
Containerize Your Game Server for the Best Multiplayer Experience
How to Improve Your Image Builds Using Advance Docker Build
Build & Deploy Multi-Container Applications to AWS
Securing Your Containerized Applications with NGINX
How To Build and Run Node Apps with Docker and Compose
Hands-on Helm
Distributed Deep Learning with Docker at Salesforce
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Monitoring in a Microservices World
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Predicting Space Weather with Docker
Become a Docker Power User With Microsoft Visual Studio Code
How to Use Mirroring and Caching to Optimize your Container Registry
Monolithic to Microservices + Docker = SDLC on Steroids!
Kubernetes at Datadog Scale
Labels, Labels, Labels
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Build & Deploy Multi-Container Applications to AWS
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Developing with Docker for the Arm Architecture

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Modernizing your data center with Dell and AMD
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Electronic commerce courselecture one. Pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
Teaching material agriculture food technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Empathic Computing: Creating Shared Understanding
PPTX
MYSQL Presentation for SQL database connectivity
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Advanced IT Governance
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Understanding_Digital_Forensics_Presentation.pptx
Modernizing your data center with Dell and AMD
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Electronic commerce courselecture one. Pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Teaching material agriculture food technology
Chapter 3 Spatial Domain Image Processing.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Empathic Computing: Creating Shared Understanding
MYSQL Presentation for SQL database connectivity
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Advanced Soft Computing BINUS July 2025.pdf
Advanced IT Governance

Docker to the Rescue of an Ops Team

  • 1. Docker to the rescue of an Ops Team Rachid Zarouali C.I.O Synolia Twitter / Slack : Xinity rachid.zarouali@synolia.com
  • 2. Agenda This talk is about: ● Monitoring (a bit) ● Private Registry ● CI/CD ● Security ● Docker experience
  • 3. Once upon a time An ops team starts a new project
  • 4. Rebuild everything ! June 2014 A monitoring system from scratch “Microservices” oriented Replaceable parts
  • 5. Some rules first ! Simple Efficient Extendable Python based
  • 7. Test your might ! Python 2.6 along with python 2.7 Different version of “some” libraries Whisper backend (I/O storm) Upstream repositories issues
  • 8. Docker to the rescue Save our project
  • 9. Docker ? way too soon ! Barely no skills Used only to do some testing Pretty serious concerns
  • 10. Ok let’s gamble ! Grow our docker fu Write some Dockerfiles Build images locally Spawn PoC platform
  • 11. ….. RUN echo "deb http://mirror.debian.ikoula.com/debian wheezy-backports main" >> /etc/apt/sources.list RUN apt-get -qq update RUN apt-get -qqy dist-upgrade RUN apt-get -qqy --force-yes install vim python-cairo gunicorn supervisor (...) RUN pip install whitenoise txamqp whisper==0.9.13 carbonate RUN pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/lib" carbon==0.9.13 RUN pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/webapp" graphite-web==0.9.13 ADD conf/nginx.conf /etc/nginx/nginx.conf ADD conf/supervisord.conf /etc/supervisor/conf.d/grafana.conf ADD initial_data.json /var/lib/graphite/webapp/graphite/initial_data.json ADD conf/local_settings.py /var/lib/graphite/webapp/graphite/local_settings.py ADD conf/carbon.conf /var/lib/graphite/conf/carbon.conf ADD conf/storage-schemas.conf /var/lib/graphite/conf/storage-schemas.conf RUN mkdir -p /var/lib/graphite/storage/whisper RUN touch /var/lib/graphite/storage/graphite.db /var/lib/graphite/storage/index RUN chmod 0775 /var/lib/graphite/storage /var/lib/graphite/storage/whisper RUN python /var/lib/graphite/webapp/graphite/manage.py syncdb --noinput --pythonpath=/var/lib/graphite/webapp/graphite --settings=settings RUN chmod 0664 /var/lib/graphite/storage/graphite.db RUN chown -R www-data /var/lib/graphite/storage …..
  • 13. Container = OS …. Wait ! Too many layers ( 121+ layer issue) Build time …. (20 to 30 minutes at best) Huge Images (800+ Mo) Unnecessary tools and libs
  • 15. We can do better ! Apply best Practices (@abbyfuller) Implement simple CI/CD Dockerfile Linting Build a private registry Deal with security concerns
  • 16. … RUN echo "APT::Install-Recommends false;" >> /etc/apt/apt.conf.d/00recommends && echo "APT::Install-Suggests false;" >> /etc/apt/apt.conf.d/00recommends && echo "APT::AutoRemove::RecommendsImportant false;" >> /etc/apt/apt.conf.d/00recommends && echo "APT::AutoRemove::SuggestsImportant false;" >> /etc/apt/apt.conf.d/00recommends ENV DEBIAN_FRONTEND noninteractive ENV GRAPHITE_VERS 0.9.13 RUN apt-get -qqy update && apt-get -qqy install python-cairo gunicorn git python2.7-dev wget ca-certificates python-flup expect sqlite3 libcairo2 libcairo2-dev pkg-config nodejs sqlite3 memcached python-ldap make gcc libffi-dev RUN wget https://bootstrap.pypa.io/get-pip.py && python get-pip.py && pip install --no-cache-dir --upgrade setuptools && pip install --no-cache-dir django django-admin-tools && pip install --no-cache-dir whitenoise txamqp whisper==${GRAPHITE_VERS} carbonate && pip install --no-cache-dir --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/lib" carbon==${GRAPHITE_VERS} && pip install --no-cache-dir --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/webapp" graphite-web==${GRAPHITE_VERS} RUN apt-get purge gcc make python2.7-dev libcairo2-dev libffi-dev python2.7-dev pkg-config -qqy && apt-get clean && apt-get autoremove -qqy && rm -rf /root/.cache /var/lib/apt/lists/* /tmp/* /var/tmp/* ...
  • 17. Best practices :) Few image layers ( < 20 ) Small image (~ 400Mo) Lower footprint (100Mo) Faster build time (~5Min)
  • 18. We did it , we did it Yeah !
  • 20. CI/CD Recipe build: image: registry.synolia.com/synolia/dockerunitest:latest publish: docker: repo: synomon_datastor tag: $${BRANCH/master/latest} file: Dockerfile insecure: true when: repo: synolia/systeam-monitoring_datastor branch: [develop, master] notify: hipchat: from: "synoci" room_id_or_name: "$$ROOM_ID" auth_token: "$$AUTH_TOKEN" notify: true when: success: false failure: true Dockerfile Linting Build Push Notify (fail only)
  • 21. Docker to the rescue II The return of the hero moby
  • 22. This isn’t over yet ! Docker udp issues Tricky iptable filtering Unstable data volume Configuration management
  • 23. Round 2: FIGHT ! Metric proxy (Collectd) on the host!! Simplify iptables rules Mount directories (metrics)
  • 24. A new path opens To a brighter future
  • 25. Epic loots ! No more dependency issues Replaceable and movable parts Greater security level Clustering ready (Swarm/K8S)
  • 26. Lessons learned Caution when using udp IPv4 Config files out of the container Don’t use env variables (security) Use (abuse) automation
  • 27. What’s next ? Greater Docker challenges
  • 28. Many rooms to grow Reduce (even more) Image size Sign Images (notary to the rescue) Vulnerability scanning Implement rolling upgrades
  • 29. New docker based projects Migrate Development platform (2015) Swarm clustering (*) Full scale Docker (*) (*) Work In Progress
  • 30. Thank You DockerCon ! PS: don’t forget to rate my talk :)