SlideShare a Scribd company logo
1 of 67
Ramit Surana @ramitsurana /in/ramitsurana
Agenda
• About Docker
• Life Before and After Docker
• Other options than Docker
• Why Docker ?
• Docker Components
• Docker basics
• Docker Workflow
• Dockerfile
• Docker Hub
• Quay.io
• Docker Swarm
• Docker CI/CD
• Docker CI/CD workflow
• Dockerv1.1
• RunC
• ContainerD
About me
• Open source guy
• Doing cool stuff whenever
possible
• Join me:
• Github: ramitsurana
• Linkedin: /in/ramitsurana
• Mail: ramitsurana@gmail.com
Life before Docker
About Docker
• Docker is a modernized application
container environment.
• Docker enables apps to be quickly
assembled from components.
• It eliminates the friction between
development, QA and production
environments.
Life after Docker
But are containers new in the market ?
• No
• Some other options available in
the market are:
• LXC
• LXD
• OpenVZ
Containers vs VM's
Stateless and Stateful Containers
Why Docker ?
3 basic
components
of docker
Docker basics
Basic Workflow
Better depiction of Workflow
Docker Storage options
• Docker works on various storage
options:
• Aufs
• Overlay
• ZFS
• VFS
• Device Mapper
• btrfs
Docker Security
• Ideally Containers are not considered
as secured as compared to virtualized
environments.
• Some of the apps that can work for
you in this domain are:
• Apparmor
• GRSecurity
• Seccomp Profiles
Docker Image
• Images are used to create Docker
containers.
• Docker images are the build
component of Docker.
• Docker provides a simple way to build
new images or update existing images
Docker commands
• sudo usermod -aG docker $(whoami) - After docker installation
• Docker info – To display information
• Docker images – To display images
• Docker run – To run images
• Docker pull – To pull the registries from Docket Hub
• Docker ps – To show the containers
• Service docker restart – To restart docker
• Service docker stop – To stop docker
• And many more….
Docker flags
• --name – To name a container
• -d – To run the container in daemonized mode
• -f – To do forcefully
• -a – To attach
• -e – To set environment variables
• -m – Memory limit
• -p – To publish new ports
• And many more....
Dockerfile
• Script i.e. composed of various
commands and arguments listed
successively to automatically perform
actions on a base image in order to
create a new one.
• Checkout some of my work:
• https://hub.docker.com/u/ramitsurana
• https://quay.io/user/ramitsurana05
Dockerfile
• Sample of my work on Heroku-runtime:
Dockerfile vs Docker Image
Docker Hub
• Collection of variety of different
images from organizations &
users.
• Now supports Vulnerability
analysis
• Consists of 2 types of
repositories:
• Official repos
• User based repos
How to use it with docker ?
• Docker login on cli:
• Pulling images from docker hub:
How to use it with docker ?
• Checking the image's presence :
• Running the container :
Let's Check out the output:
Quay.io
• Hosted by CoreOS guys
• Supports rkt project
• Integrated with the amazing clair
vulnerability service.
• Integrates with tectonic and other
coreos projects
How to use it with docker ?
• Quay login with docker:
• Pulling images from quay.io:
How to use it with docker ?
• Checking the image's presence :
• Running the container :
How to use it with docker ?
• Check out http://localhost:4000. Bingo !!
Docker Compose
Docker Compose
• Simple way to bring up multiple
containers with .yaml file.
• Previously known as Fig.
• Bought by docker in 2014.
How to use Docker Compose ?
• Installation:
How to use Docker Compose ?
• Installation:
How to use it with Docker Compose ?
• Create a dir and .yml file inside it:
• My .yml file:
How to use it with Docker Compose ?
• The Output:
How to use it with Docker Compose ?
• Find more cool examples at
http://github.com/ramitsurana/dcompose
• Some simple commands for docker compose:
• docker-compose up – To bring up containers
• docker-compose build - Build or rebuild services
• docker-compose kill - Kill containers
• docker-compose logs - View output from containers
• docker-compose port - Print the public port for a port binding
• docker-compose ps - List containers
• docker-compose pull - Pulls service images
• docker-compose rm - Remove stopped containers
• docker-compose scale - Set number of containers for a service
Docker Swarm
Docker Swarm
• Swarm is an orchestration tool
to orchestrate your docker
containers.
• Follows"swap, plug and play"
principle.
• Allows you to create and access
to a pool of Docker Hosts.
• For more info:
http://www.slideshare.net/rami
tsurana/introducing-docker-
swarm-the-orchestration-tool-
by-docker
Docker Swarm working
Docker Swarm high level architecture
How to use Docker Swarm ?
• Pulling the image:
• Creating new cluster using,
docker run –rm swarm create
Cluster ID
How to use Docker Swarm ?
• Starting swarm agent,
• docker run -d swarm join --addr=<node_ip:2375>
token://<cluster_id>
• Setting up swarm on the other nodes:
Default Port of Docker
How to use Docker Swarm ?
• To view a list of containers on port,
docker -H tcp://<ip-addr>:<port> ps
• To run a container on swarm,
docker –H tcp://<ip-addr>:<port> run –d –name www –p <port>:<port> <image>
Docker Swarm Filters
• Tell Docker Swarm scheduler which nodes to use when creating and
running a container.
• Consists of 5 categories:
• constraint
• health
• affinity
• dependency
• port
Some Docker Monitoring Tools
cAdvisor
• Provided as open source by
google.
• Easy to use
• Integrates well with kubernetes.
• Lightweight by nature
How to use cAdvisor ?
• Pulling docker image:
• Try http://localhost:8080 on your browser
How to use cAdvisor ?
• My Results :
Shipyard
Shipyard
• Built by Evan Hazlett.
• Built on Docker Swarm
• Gives you the ability to manage
Docker resources including
containers, images, private registries
and more.
• Requires installation of :
- Rethinkdb
- Etcd
- docker-proxy
- Shipyard image
- Swarm manager, agent & controller
How to use Shipyard ?
• Using Shell script:
How to use Shipyard?
• Open up http://:<your local ip>:8080
How to use Shipyard?
• Use admin for username & shipyard for password
Developing CI/CD
• Docker version 2.0 introduces new UI.
• Jenkinsfile introduced with this new
version.
• It's a container for your pipeline which
details what specific steps are needed to
perform a job for which you want to use
Jenkins.
• For better info:
http://theremotelab.com
/blog/jenkins2.0-screencast-series/
Sample Workflow model
Better workflow model (using kubernetes)
Dockerv1.1 introduces major updates
• From Dockerv1.1 new things have come into actions.
• Some major changes are
• RunC
• Containerd
• OCI Standards
runC
• CLI tool for spawning and
running containers.
• runC does not create a daemon,
so it integrates well with
systemd.
• Currently in alpha version
ContainerD
Containerd
• Daemon with an API and a
command line client, to manage
containers on one machine.
• Uses runC to run containers.
• Has advanced features such as
seccomp and user namespace
support as well as checkpoint
and restore for cloning and live
migration of containers.
Some more services from docker
• Docker Datacenter
• Kitematic
• Docker Cloud a.k.a. Tumtum
cloud
• Docker Toolbox
• And many more....
Some interesting new operating systems for
running docker
• CoreOS
• RancherOS
• Atomic OS
• Alpine
Docker Questions ?
Docker Celebrations & conference
Thank you
May you have a
Dockerized day
ahead !

More Related Content

What's hot

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
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
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
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerAniekan Akpaffiong
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDr Ganesh Iyer
 
Docker introduction
Docker introductionDocker introduction
Docker introductionPhuc Nguyen
 
Building Big Architectures
Building Big ArchitecturesBuilding Big Architectures
Building Big ArchitecturesRamit Surana
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
 
A new model for Docker image distribution
A new model for Docker image distributionA new model for Docker image distribution
A new model for Docker image distributionDocker, Inc.
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAlan Forbes
 
virtualization-vs-containerization-paas
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paasrajdeep
 
Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux ContainerBalaji Rajan
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux KernelDocker, Inc.
 

What's hot (20)

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
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
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
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Introduction To Docker
Introduction To  DockerIntroduction To  Docker
Introduction To Docker
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Building Big Architectures
Building Big ArchitecturesBuilding Big Architectures
Building Big Architectures
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
A new model for Docker image distribution
A new model for Docker image distributionA new model for Docker image distribution
A new model for Docker image distribution
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
virtualization-vs-containerization-paas
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paas
 
Docker
DockerDocker
Docker
 
Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux Container
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 

Viewers also liked

Building Digital Transaction Systems in the new Banking World
Building Digital Transaction Systems in the new Banking WorldBuilding Digital Transaction Systems in the new Banking World
Building Digital Transaction Systems in the new Banking WorldRamit Surana
 
Docker - Frank Maounis
Docker - Frank MaounisDocker - Frank Maounis
Docker - Frank MaounisFrank Maounis
 
containerd and what it means for the container ecosystem
containerd and what it means for the container ecosystemcontainerd and what it means for the container ecosystem
containerd and what it means for the container ecosystemJustin Steele
 
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
KubeCon EU 2016: "rktnetes": what's new with container runtimes and KubernetesKubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
KubeCon EU 2016: "rktnetes": what's new with container runtimes and KubernetesKubeAcademy
 
Sysdig - Introducing a new definition of Monitoring
Sysdig - Introducing a new definition of MonitoringSysdig - Introducing a new definition of Monitoring
Sysdig - Introducing a new definition of MonitoringRamit Surana
 
Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Ramit Surana
 
Introducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomenessIntroducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomenessRamit Surana
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesGöksel Pırnal
 
Docker Madison, Introduction to Kubernetes
Docker Madison, Introduction to KubernetesDocker Madison, Introduction to Kubernetes
Docker Madison, Introduction to KubernetesTimothy St. Clair
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionEric Gustafson
 
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...Docker-Hanoi
 
EMCW2015 - Containers and Data Persistence
EMCW2015 - Containers and Data PersistenceEMCW2015 - Containers and Data Persistence
EMCW2015 - Containers and Data PersistenceClinton Kitson
 
Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016Opsta
 
Demystifying TLS
Demystifying TLSDemystifying TLS
Demystifying TLSPuppet
 
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...{code}
 
A brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsRamit Surana
 
Introduce Google Kubernetes
Introduce Google KubernetesIntroduce Google Kubernetes
Introduce Google KubernetesYongbok Kim
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionPeng Xiao
 

Viewers also liked (20)

Building Digital Transaction Systems in the new Banking World
Building Digital Transaction Systems in the new Banking WorldBuilding Digital Transaction Systems in the new Banking World
Building Digital Transaction Systems in the new Banking World
 
Docker - Frank Maounis
Docker - Frank MaounisDocker - Frank Maounis
Docker - Frank Maounis
 
containerd and what it means for the container ecosystem
containerd and what it means for the container ecosystemcontainerd and what it means for the container ecosystem
containerd and what it means for the container ecosystem
 
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
KubeCon EU 2016: "rktnetes": what's new with container runtimes and KubernetesKubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
 
App container rkt
App container rktApp container rkt
App container rkt
 
Sysdig - Introducing a new definition of Monitoring
Sysdig - Introducing a new definition of MonitoringSysdig - Introducing a new definition of Monitoring
Sysdig - Introducing a new definition of Monitoring
 
Hands on docker
Hands on dockerHands on docker
Hands on docker
 
Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack
 
Introducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomenessIntroducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomeness
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Docker Madison, Introduction to Kubernetes
Docker Madison, Introduction to KubernetesDocker Madison, Introduction to Kubernetes
Docker Madison, Introduction to Kubernetes
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
 
EMCW2015 - Containers and Data Persistence
EMCW2015 - Containers and Data PersistenceEMCW2015 - Containers and Data Persistence
EMCW2015 - Containers and Data Persistence
 
Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016
 
Demystifying TLS
Demystifying TLSDemystifying TLS
Demystifying TLS
 
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
EMC World 2016 - code.13 State of the Container Ecosystem with Persistent App...
 
A brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its components
 
Introduce Google Kubernetes
Introduce Google KubernetesIntroduce Google Kubernetes
Introduce Google Kubernetes
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 

Similar to Docker for the new Era: Introducing Docker,its components and tools

Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochranedotCloud
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the Worlddamovsky
 
IBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and DockerIBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and DockerDavid Currie
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with DockerGeeta Vinnakota
 
Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmMario IC
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container SecuritySuraj Khetani
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with DockerLaura Frank Tacho
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM France Lab
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralovedamovsky
 
Docker crash course
Docker crash courseDocker crash course
Docker crash coursenispas
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupKumar Ashwin
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupKumar Ashwin
 
DockerCon 2015: Docker Engine Breakout Session
DockerCon 2015: Docker Engine Breakout SessionDockerCon 2015: Docker Engine Breakout Session
DockerCon 2015: Docker Engine Breakout SessionDocker, Inc.
 
DockerCon US 2015 - Engine Breakout Session
DockerCon US 2015 - Engine Breakout SessionDockerCon US 2015 - Engine Breakout Session
DockerCon US 2015 - Engine Breakout SessionArnaud Porterie
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
Intro docker and demo monitor on docker
Intro docker and demo monitor on dockerIntro docker and demo monitor on docker
Intro docker and demo monitor on dockerWatcharin Yang-Ngam
 

Similar to Docker for the new Era: Introducing Docker,its components and tools (20)

Django and Docker
Django and DockerDjango and Docker
Django and Docker
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken Cochrane
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 
IBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and DockerIBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and Docker
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker Swarm
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with Docker
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
Docker crash course
Docker crash courseDocker crash course
Docker crash course
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
 
DockerCon 2015: Docker Engine Breakout Session
DockerCon 2015: Docker Engine Breakout SessionDockerCon 2015: Docker Engine Breakout Session
DockerCon 2015: Docker Engine Breakout Session
 
DockerCon US 2015 - Engine Breakout Session
DockerCon US 2015 - Engine Breakout SessionDockerCon US 2015 - Engine Breakout Session
DockerCon US 2015 - Engine Breakout Session
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Docker
DockerDocker
Docker
 
Docker lxc win
Docker lxc winDocker lxc win
Docker lxc win
 
Intro docker and demo monitor on docker
Intro docker and demo monitor on dockerIntro docker and demo monitor on docker
Intro docker and demo monitor on docker
 

More from Ramit Surana

Using Serverless Architectures to build and provision modern infrastructures​
Using Serverless Architectures to build and provision modern infrastructures​Using Serverless Architectures to build and provision modern infrastructures​
Using Serverless Architectures to build and provision modern infrastructures​Ramit Surana
 
DEPLOYING WORDPRESS BLOG USING DOCKER COMPOSE & ANSIBLE ON AWS​
DEPLOYING WORDPRESS BLOG USING DOCKER COMPOSE & ANSIBLE ON AWS​DEPLOYING WORDPRESS BLOG USING DOCKER COMPOSE & ANSIBLE ON AWS​
DEPLOYING WORDPRESS BLOG USING DOCKER COMPOSE & ANSIBLE ON AWS​Ramit Surana
 
Getting Started with Consul
Getting Started with ConsulGetting Started with Consul
Getting Started with ConsulRamit Surana
 
Building Big Architectures XP Conference 2016
Building Big Architectures XP Conference 2016Building Big Architectures XP Conference 2016
Building Big Architectures XP Conference 2016Ramit Surana
 
Dependency management in golang
Dependency management in golangDependency management in golang
Dependency management in golangRamit Surana
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesRamit Surana
 
Hashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOpsHashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOpsRamit Surana
 
CoreOS: The Inside and Outside of Linux Containers
CoreOS: The Inside and Outside of Linux ContainersCoreOS: The Inside and Outside of Linux Containers
CoreOS: The Inside and Outside of Linux ContainersRamit Surana
 
Introducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by DockerIntroducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by DockerRamit Surana
 
Introducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of AutomationIntroducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of AutomationRamit Surana
 

More from Ramit Surana (12)

Using Serverless Architectures to build and provision modern infrastructures​
Using Serverless Architectures to build and provision modern infrastructures​Using Serverless Architectures to build and provision modern infrastructures​
Using Serverless Architectures to build and provision modern infrastructures​
 
DEPLOYING WORDPRESS BLOG USING DOCKER COMPOSE & ANSIBLE ON AWS​
DEPLOYING WORDPRESS BLOG USING DOCKER COMPOSE & ANSIBLE ON AWS​DEPLOYING WORDPRESS BLOG USING DOCKER COMPOSE & ANSIBLE ON AWS​
DEPLOYING WORDPRESS BLOG USING DOCKER COMPOSE & ANSIBLE ON AWS​
 
Introducing Vault
Introducing VaultIntroducing Vault
Introducing Vault
 
Getting Started with Consul
Getting Started with ConsulGetting Started with Consul
Getting Started with Consul
 
Building Big Architectures XP Conference 2016
Building Big Architectures XP Conference 2016Building Big Architectures XP Conference 2016
Building Big Architectures XP Conference 2016
 
Dependency management in golang
Dependency management in golangDependency management in golang
Dependency management in golang
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with Kubernetes
 
Hashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOpsHashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOps
 
CoreOS: The Inside and Outside of Linux Containers
CoreOS: The Inside and Outside of Linux ContainersCoreOS: The Inside and Outside of Linux Containers
CoreOS: The Inside and Outside of Linux Containers
 
Introducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by DockerIntroducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by Docker
 
Introducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of AutomationIntroducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of Automation
 
Canister
Canister Canister
Canister
 

Recently uploaded

%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 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
 
%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
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
%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 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
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
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
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 

Recently uploaded (20)

%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 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
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%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
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%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 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
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
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
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

Docker for the new Era: Introducing Docker,its components and tools

  • 1. Ramit Surana @ramitsurana /in/ramitsurana
  • 2. Agenda • About Docker • Life Before and After Docker • Other options than Docker • Why Docker ? • Docker Components • Docker basics • Docker Workflow • Dockerfile • Docker Hub • Quay.io • Docker Swarm • Docker CI/CD • Docker CI/CD workflow • Dockerv1.1 • RunC • ContainerD
  • 3. About me • Open source guy • Doing cool stuff whenever possible • Join me: • Github: ramitsurana • Linkedin: /in/ramitsurana • Mail: ramitsurana@gmail.com
  • 5. About Docker • Docker is a modernized application container environment. • Docker enables apps to be quickly assembled from components. • It eliminates the friction between development, QA and production environments.
  • 7. But are containers new in the market ? • No • Some other options available in the market are: • LXC • LXD • OpenVZ
  • 15. Docker Storage options • Docker works on various storage options: • Aufs • Overlay • ZFS • VFS • Device Mapper • btrfs
  • 16. Docker Security • Ideally Containers are not considered as secured as compared to virtualized environments. • Some of the apps that can work for you in this domain are: • Apparmor • GRSecurity • Seccomp Profiles
  • 17. Docker Image • Images are used to create Docker containers. • Docker images are the build component of Docker. • Docker provides a simple way to build new images or update existing images
  • 18. Docker commands • sudo usermod -aG docker $(whoami) - After docker installation • Docker info – To display information • Docker images – To display images • Docker run – To run images • Docker pull – To pull the registries from Docket Hub • Docker ps – To show the containers • Service docker restart – To restart docker • Service docker stop – To stop docker • And many more….
  • 19. Docker flags • --name – To name a container • -d – To run the container in daemonized mode • -f – To do forcefully • -a – To attach • -e – To set environment variables • -m – Memory limit • -p – To publish new ports • And many more....
  • 20. Dockerfile • Script i.e. composed of various commands and arguments listed successively to automatically perform actions on a base image in order to create a new one. • Checkout some of my work: • https://hub.docker.com/u/ramitsurana • https://quay.io/user/ramitsurana05
  • 21. Dockerfile • Sample of my work on Heroku-runtime:
  • 23. Docker Hub • Collection of variety of different images from organizations & users. • Now supports Vulnerability analysis • Consists of 2 types of repositories: • Official repos • User based repos
  • 24. How to use it with docker ? • Docker login on cli: • Pulling images from docker hub:
  • 25. How to use it with docker ? • Checking the image's presence : • Running the container :
  • 26. Let's Check out the output:
  • 27. Quay.io • Hosted by CoreOS guys • Supports rkt project • Integrated with the amazing clair vulnerability service. • Integrates with tectonic and other coreos projects
  • 28. How to use it with docker ? • Quay login with docker: • Pulling images from quay.io:
  • 29. How to use it with docker ? • Checking the image's presence : • Running the container :
  • 30. How to use it with docker ? • Check out http://localhost:4000. Bingo !!
  • 32. Docker Compose • Simple way to bring up multiple containers with .yaml file. • Previously known as Fig. • Bought by docker in 2014.
  • 33. How to use Docker Compose ? • Installation:
  • 34. How to use Docker Compose ? • Installation:
  • 35. How to use it with Docker Compose ? • Create a dir and .yml file inside it: • My .yml file:
  • 36. How to use it with Docker Compose ? • The Output:
  • 37. How to use it with Docker Compose ? • Find more cool examples at http://github.com/ramitsurana/dcompose • Some simple commands for docker compose: • docker-compose up – To bring up containers • docker-compose build - Build or rebuild services • docker-compose kill - Kill containers • docker-compose logs - View output from containers • docker-compose port - Print the public port for a port binding • docker-compose ps - List containers • docker-compose pull - Pulls service images • docker-compose rm - Remove stopped containers • docker-compose scale - Set number of containers for a service
  • 39. Docker Swarm • Swarm is an orchestration tool to orchestrate your docker containers. • Follows"swap, plug and play" principle. • Allows you to create and access to a pool of Docker Hosts. • For more info: http://www.slideshare.net/rami tsurana/introducing-docker- swarm-the-orchestration-tool- by-docker
  • 41. Docker Swarm high level architecture
  • 42. How to use Docker Swarm ? • Pulling the image: • Creating new cluster using, docker run –rm swarm create Cluster ID
  • 43. How to use Docker Swarm ? • Starting swarm agent, • docker run -d swarm join --addr=<node_ip:2375> token://<cluster_id> • Setting up swarm on the other nodes: Default Port of Docker
  • 44. How to use Docker Swarm ? • To view a list of containers on port, docker -H tcp://<ip-addr>:<port> ps • To run a container on swarm, docker –H tcp://<ip-addr>:<port> run –d –name www –p <port>:<port> <image>
  • 45. Docker Swarm Filters • Tell Docker Swarm scheduler which nodes to use when creating and running a container. • Consists of 5 categories: • constraint • health • affinity • dependency • port
  • 47. cAdvisor • Provided as open source by google. • Easy to use • Integrates well with kubernetes. • Lightweight by nature
  • 48. How to use cAdvisor ? • Pulling docker image: • Try http://localhost:8080 on your browser
  • 49. How to use cAdvisor ? • My Results :
  • 51. Shipyard • Built by Evan Hazlett. • Built on Docker Swarm • Gives you the ability to manage Docker resources including containers, images, private registries and more. • Requires installation of : - Rethinkdb - Etcd - docker-proxy - Shipyard image - Swarm manager, agent & controller
  • 52. How to use Shipyard ? • Using Shell script:
  • 53. How to use Shipyard? • Open up http://:<your local ip>:8080
  • 54. How to use Shipyard? • Use admin for username & shipyard for password
  • 55.
  • 56. Developing CI/CD • Docker version 2.0 introduces new UI. • Jenkinsfile introduced with this new version. • It's a container for your pipeline which details what specific steps are needed to perform a job for which you want to use Jenkins. • For better info: http://theremotelab.com /blog/jenkins2.0-screencast-series/
  • 58. Better workflow model (using kubernetes)
  • 59. Dockerv1.1 introduces major updates • From Dockerv1.1 new things have come into actions. • Some major changes are • RunC • Containerd • OCI Standards
  • 60. runC • CLI tool for spawning and running containers. • runC does not create a daemon, so it integrates well with systemd. • Currently in alpha version
  • 62. Containerd • Daemon with an API and a command line client, to manage containers on one machine. • Uses runC to run containers. • Has advanced features such as seccomp and user namespace support as well as checkpoint and restore for cloning and live migration of containers.
  • 63. Some more services from docker • Docker Datacenter • Kitematic • Docker Cloud a.k.a. Tumtum cloud • Docker Toolbox • And many more....
  • 64. Some interesting new operating systems for running docker • CoreOS • RancherOS • Atomic OS • Alpine
  • 66. Docker Celebrations & conference
  • 67. Thank you May you have a Dockerized day ahead !