SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
An Introduction to Docker and Project Atomic
Aditya Patawari
Contributor to Fedora Admin team
Lead Engineer (Infrastructure) at BrowserStack.com
aditya@adityapatawari.com
adimania on freenode irc
http://blog.adityapatawari.com
November 15, 2014
Aditya Patawari An Introduction to Docker and Project Atomic
Topics
What is Docker?
Why not LXC or VM?
Project Atomic is here!
.. Along with rpm-ostree ..
.. and Systemd
Starting our Atomic Host
Docker Commands
Docker Repository
Aditya Patawari An Introduction to Docker and Project Atomic
What is the problem?
My production needs to be homogeneous
I need to ship entire environment to my colleague
My hypervisor ate all the CPU (or RAM)
Classic problem ”.. but it works on my machine .. ”
Aditya Patawari An Introduction to Docker and Project Atomic
What is Docker?
LXC turbo charged
Kernel Cgroups and Namespace implementation
Using Device Mapper Thin Provionsing
Portable. Registries are awesome!
Aditya Patawari An Introduction to Docker and Project Atomic
Why Docker?
Lightweight linux container
Boots up in seconds
Incrementally build, revert and reuse your container
API to manage things remotely
Aditya Patawari An Introduction to Docker and Project Atomic
Why not LXC containers or VM?
Less resource consuming than virtual machines
Faster than VM with reasonable amount of isolation.
According to a benchmark by Boden Russell, IBM (approx
figures):
CPU usage 20 % vs 70 %
Memory usage 50 MB vs 300 MB
Better tools ecosystem around docker than LXC
Case study of Spotify
Aditya Patawari An Introduction to Docker and Project Atomic
Project Atomic is here!
Minimal operating system
Benefits of our favorite Enterprise Linux
Robust atomic upgrades and systemd
Ready to take on cloud, virtualized or bare metal
Aditya Patawari An Introduction to Docker and Project Atomic
.. including rpm-ostree ..
Bootable, immutable, versioned filesystem trees
Composed from standard rpms
Atomic upgrade and rollbacks
Only /etc and /var are writable
Aditya Patawari An Introduction to Docker and Project Atomic
.. and Systemd
System and service manager for Linux
Replacing the init in Centos 7
Highly modular and much more powerful than sysV
Check out http://0pointer.de/blog/projects/why.html
Aditya Patawari An Introduction to Docker and Project Atomic
Starting Atomic Host
Atomic host needs cloud-init data
Info about the host, i.e. meta-data
Info about the user, i.e. user-data
Aditya Patawari An Introduction to Docker and Project Atomic
cloud-init data
$ cat meta-data
instance-id: iid-local01;
local-hostname: myhost;
$ cat user-data
#cloud-config
password: mypassword
ssh_pwauth: True
chpasswd: { expire: False }
ssh_authorized_keys:
- ssh-rsa ... foo@foo.com
$ genisoimage -output init.iso -volid cidata -joliet 
-rock user-data meta-data
Aditya Patawari An Introduction to Docker and Project Atomic
Let’s try this out!
yum install docker-io
systemctl start docker
docker pull adimania/fedora-busybox
docker run -i -t adimania/fedora-busybox /sbin/sh
docker ps
docker images
docker commit <container><tag>
docker stop
Aditya Patawari An Introduction to Docker and Project Atomic
Dockerfile
FROM centos
MAINTAINER Aditya Patawari <adimania@fedoraproject.org>
RUN yum -y update
RUN yum -y install httpd
EXPOSE 80
CMD [ "httpd" ]
Aditya Patawari An Introduction to Docker and Project Atomic
Docker build
$ docker build .
.
.
.
---> a8d3d615599a
Removing intermediate container cc142bec3471
Step 4 : EXPOSE 6379
---> Running in 3aaa20ddda02
---> 3bef54fa4135
Removing intermediate container 3aaa20ddda02
Step 5 : CMD [ "redis-server" ]
---> Running in eef0cb48742a
---> 4f09b11a3dd2
Removing intermediate container eef0cb48742a
Successfully built 4f09b11a3dd2
Aditya Patawari An Introduction to Docker and Project Atomic
Download only official or trusted images
You’re still on your own on security updates
An attack on non-namespaced subsystem or device is a
potential risk
Aditya Patawari An Introduction to Docker and Project Atomic
Questions?
Now is your chance :)
Aditya Patawari An Introduction to Docker and Project Atomic

Mais conteúdo relacionado

Mais procurados

What's Running My Containers? A review of runtimes and standards.
What's Running My Containers? A review of runtimes and standards.What's Running My Containers? A review of runtimes and standards.
What's Running My Containers? A review of runtimes and standards.Phil Estes
 
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
 
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
Whose Job Is It Anyway? Kubernetes, CRI, & Container RuntimesWhose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
Whose Job Is It Anyway? Kubernetes, CRI, & Container RuntimesPhil Estes
 
Introduction to CRI and OCI
Introduction to CRI and OCIIntroduction to CRI and OCI
Introduction to CRI and OCIHungWei Chiu
 
Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018Phil Estes
 
KubeCon EU 2016: Killing containers to make weather beautiful
KubeCon EU 2016: Killing containers to make weather beautifulKubeCon EU 2016: Killing containers to make weather beautiful
KubeCon EU 2016: Killing containers to make weather beautifulKubeAcademy
 
Containerd Internals: Building a Core Container Runtime
Containerd Internals: Building a Core Container RuntimeContainerd Internals: Building a Core Container Runtime
Containerd Internals: Building a Core Container RuntimePhil Estes
 
Embedding Containerd For Fun and Profit
Embedding Containerd For Fun and ProfitEmbedding Containerd For Fun and Profit
Embedding Containerd For Fun and ProfitPhil Estes
 
Running Docker with OpenStack | Docker workshop #1
Running Docker with OpenStack | Docker workshop #1Running Docker with OpenStack | Docker workshop #1
Running Docker with OpenStack | Docker workshop #1dotCloud
 
An Open Source Story: Open Containers & Open Communities
An Open Source Story: Open Containers & Open CommunitiesAn Open Source Story: Open Containers & Open Communities
An Open Source Story: Open Containers & Open CommunitiesPhil Estes
 
Docker orchestration with Kubernetes
Docker orchestration with KubernetesDocker orchestration with Kubernetes
Docker orchestration with KubernetesSamuel ROZE
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Henryk Konsek
 
Introduction to CircleCI
Introduction to CircleCIIntroduction to CircleCI
Introduction to CircleCIHungWei Chiu
 
Microservices at scale with docker and kubernetes - AMS JUG 2017
Microservices at scale with docker and kubernetes - AMS JUG 2017Microservices at scale with docker and kubernetes - AMS JUG 2017
Microservices at scale with docker and kubernetes - AMS JUG 2017Arjen Wassink
 
Tectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesTectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesCoreOS
 

Mais procurados (20)

What's Running My Containers? A review of runtimes and standards.
What's Running My Containers? A review of runtimes and standards.What's Running My Containers? A review of runtimes and standards.
What's Running My Containers? A review of runtimes and standards.
 
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
 
Fedora Atomic Host
Fedora Atomic HostFedora Atomic Host
Fedora Atomic Host
 
LinuxKit
LinuxKitLinuxKit
LinuxKit
 
Docker e git lab
Docker e git labDocker e git lab
Docker e git lab
 
CRI-containerd
CRI-containerdCRI-containerd
CRI-containerd
 
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
Whose Job Is It Anyway? Kubernetes, CRI, & Container RuntimesWhose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
 
Introduction to CRI and OCI
Introduction to CRI and OCIIntroduction to CRI and OCI
Introduction to CRI and OCI
 
Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018
 
KubeCon EU 2016: Killing containers to make weather beautiful
KubeCon EU 2016: Killing containers to make weather beautifulKubeCon EU 2016: Killing containers to make weather beautiful
KubeCon EU 2016: Killing containers to make weather beautiful
 
Containerd Internals: Building a Core Container Runtime
Containerd Internals: Building a Core Container RuntimeContainerd Internals: Building a Core Container Runtime
Containerd Internals: Building a Core Container Runtime
 
RKT
RKTRKT
RKT
 
Embedding Containerd For Fun and Profit
Embedding Containerd For Fun and ProfitEmbedding Containerd For Fun and Profit
Embedding Containerd For Fun and Profit
 
Running Docker with OpenStack | Docker workshop #1
Running Docker with OpenStack | Docker workshop #1Running Docker with OpenStack | Docker workshop #1
Running Docker with OpenStack | Docker workshop #1
 
An Open Source Story: Open Containers & Open Communities
An Open Source Story: Open Containers & Open CommunitiesAn Open Source Story: Open Containers & Open Communities
An Open Source Story: Open Containers & Open Communities
 
Docker orchestration with Kubernetes
Docker orchestration with KubernetesDocker orchestration with Kubernetes
Docker orchestration with Kubernetes
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
 
Introduction to CircleCI
Introduction to CircleCIIntroduction to CircleCI
Introduction to CircleCI
 
Microservices at scale with docker and kubernetes - AMS JUG 2017
Microservices at scale with docker and kubernetes - AMS JUG 2017Microservices at scale with docker and kubernetes - AMS JUG 2017
Microservices at scale with docker and kubernetes - AMS JUG 2017
 
Tectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesTectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of Kubernetes
 

Destaque

Linux lab manual by zoom
Linux lab manual by zoomLinux lab manual by zoom
Linux lab manual by zoomSatya Johnny
 
Deploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsDeploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsMassTLC
 
Real-Time Data Exploration and Analytics with Amazon Elasticsearch Service
Real-Time Data Exploration and Analytics with Amazon Elasticsearch ServiceReal-Time Data Exploration and Analytics with Amazon Elasticsearch Service
Real-Time Data Exploration and Analytics with Amazon Elasticsearch ServiceAmazon Web Services
 
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...Amazon Web Services
 
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...Amazon Web Services
 
Deep Dive on Elastic File System - February 2017 AWS Online Tech Talks
Deep Dive on Elastic File System - February 2017 AWS Online Tech TalksDeep Dive on Elastic File System - February 2017 AWS Online Tech Talks
Deep Dive on Elastic File System - February 2017 AWS Online Tech TalksAmazon Web Services
 

Destaque (10)

Linux course details
Linux course detailsLinux course details
Linux course details
 
fundamentals of linux
fundamentals of linuxfundamentals of linux
fundamentals of linux
 
Linux lab manual by zoom
Linux lab manual by zoomLinux lab manual by zoom
Linux lab manual by zoom
 
Deploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsDeploying systems using AWS DevOps tools
Deploying systems using AWS DevOps tools
 
Architecting on The Cloud
Architecting on The CloudArchitecting on The Cloud
Architecting on The Cloud
 
Real-Time Data Exploration and Analytics with Amazon Elasticsearch Service
Real-Time Data Exploration and Analytics with Amazon Elasticsearch ServiceReal-Time Data Exploration and Analytics with Amazon Elasticsearch Service
Real-Time Data Exploration and Analytics with Amazon Elasticsearch Service
 
Introduction to AWS X-Ray
Introduction to AWS X-RayIntroduction to AWS X-Ray
Introduction to AWS X-Ray
 
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
 
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
 
Deep Dive on Elastic File System - February 2017 AWS Online Tech Talks
Deep Dive on Elastic File System - February 2017 AWS Online Tech TalksDeep Dive on Elastic File System - February 2017 AWS Online Tech Talks
Deep Dive on Elastic File System - February 2017 AWS Online Tech Talks
 

Semelhante a An introduction to Docker and Project Atomic

Project Atomic - rootconf2015
Project Atomic - rootconf2015Project Atomic - rootconf2015
Project Atomic - rootconf2015Aditya Patawari
 
Project Atomic [rootconf2015]
Project Atomic [rootconf2015]Project Atomic [rootconf2015]
Project Atomic [rootconf2015]Aditya Patawari
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with DockerPatrick Mizer
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - IndroducAl Gifari
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java DevelopersImesh Gunaratne
 
VMware@Night Container and Virtualization
VMware@Night Container and VirtualizationVMware@Night Container and Virtualization
VMware@Night Container and VirtualizationOpvizor, Inc.
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungDigicomp Academy AG
 
Delivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesAjeet Singh Raina
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
What's New in Docker 19.03.0 Pre-Release?
What's New in Docker 19.03.0 Pre-Release?What's New in Docker 19.03.0 Pre-Release?
What's New in Docker 19.03.0 Pre-Release?Ajeet Singh Raina
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherKarim Vaes
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班Paul Chao
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班Philip Zheng
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionBen Hall
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
 
Practical Docker for OpenStack (Juno Summit - May 15th, 2014)
Practical Docker for OpenStack (Juno Summit - May 15th, 2014)Practical Docker for OpenStack (Juno Summit - May 15th, 2014)
Practical Docker for OpenStack (Juno Summit - May 15th, 2014)Erica Windisch
 
Orchestrating Docker with OpenStack
Orchestrating Docker with OpenStackOrchestrating Docker with OpenStack
Orchestrating Docker with OpenStackErica Windisch
 
Introduction to Docker - Learning containerization XP conference 2016
Introduction to Docker - Learning containerization  XP conference 2016Introduction to Docker - Learning containerization  XP conference 2016
Introduction to Docker - Learning containerization XP conference 2016XP Conference India
 

Semelhante a An introduction to Docker and Project Atomic (20)

Project Atomic - rootconf2015
Project Atomic - rootconf2015Project Atomic - rootconf2015
Project Atomic - rootconf2015
 
Project Atomic [rootconf2015]
Project Atomic [rootconf2015]Project Atomic [rootconf2015]
Project Atomic [rootconf2015]
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
 
VMware@Night Container and Virtualization
VMware@Night Container and VirtualizationVMware@Night Container and Virtualization
VMware@Night Container and Virtualization
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & Virtualisierung
 
Delivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devices
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
What's New in Docker 19.03.0 Pre-Release?
What's New in Docker 19.03.0 Pre-Release?What's New in Docker 19.03.0 Pre-Release?
What's New in Docker 19.03.0 Pre-Release?
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
 
Docker, but what it is?
Docker, but what it is?Docker, but what it is?
Docker, but what it is?
 
2015 05-06-elias weingaertner-docker-intro
2015 05-06-elias weingaertner-docker-intro2015 05-06-elias weingaertner-docker-intro
2015 05-06-elias weingaertner-docker-intro
 
廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班
 
Docker 進階實務班
Docker 進階實務班Docker 進階實務班
Docker 進階實務班
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
Practical Docker for OpenStack (Juno Summit - May 15th, 2014)
Practical Docker for OpenStack (Juno Summit - May 15th, 2014)Practical Docker for OpenStack (Juno Summit - May 15th, 2014)
Practical Docker for OpenStack (Juno Summit - May 15th, 2014)
 
Orchestrating Docker with OpenStack
Orchestrating Docker with OpenStackOrchestrating Docker with OpenStack
Orchestrating Docker with OpenStack
 
Introduction to Docker - Learning containerization XP conference 2016
Introduction to Docker - Learning containerization  XP conference 2016Introduction to Docker - Learning containerization  XP conference 2016
Introduction to Docker - Learning containerization XP conference 2016
 

Mais de Aditya Patawari

Networking Overview for Docker Platform
Networking Overview for Docker PlatformNetworking Overview for Docker Platform
Networking Overview for Docker PlatformAditya Patawari
 
BrowserStack Security Breach. Lessons Learned.
BrowserStack Security Breach. Lessons Learned.BrowserStack Security Breach. Lessons Learned.
BrowserStack Security Breach. Lessons Learned.Aditya Patawari
 
Orchestration with Ansible at Fedora Project
Orchestration with Ansible at Fedora ProjectOrchestration with Ansible at Fedora Project
Orchestration with Ansible at Fedora ProjectAditya Patawari
 
Introduction to Puppet and Usage In Cloud
Introduction to Puppet and Usage In CloudIntroduction to Puppet and Usage In Cloud
Introduction to Puppet and Usage In CloudAditya Patawari
 
Foss.in Fedora Mini Conf
Foss.in Fedora Mini ConfFoss.in Fedora Mini Conf
Foss.in Fedora Mini ConfAditya Patawari
 

Mais de Aditya Patawari (9)

Networking Overview for Docker Platform
Networking Overview for Docker PlatformNetworking Overview for Docker Platform
Networking Overview for Docker Platform
 
Beginning mesos
Beginning mesosBeginning mesos
Beginning mesos
 
BrowserStack Security Breach. Lessons Learned.
BrowserStack Security Breach. Lessons Learned.BrowserStack Security Breach. Lessons Learned.
BrowserStack Security Breach. Lessons Learned.
 
Orchestration with Ansible at Fedora Project
Orchestration with Ansible at Fedora ProjectOrchestration with Ansible at Fedora Project
Orchestration with Ansible at Fedora Project
 
Git
GitGit
Git
 
Introduction to Puppet and Usage In Cloud
Introduction to Puppet and Usage In CloudIntroduction to Puppet and Usage In Cloud
Introduction to Puppet and Usage In Cloud
 
Koji and pulp
Koji and pulpKoji and pulp
Koji and pulp
 
Foss.in Fedora Mini Conf
Foss.in Fedora Mini ConfFoss.in Fedora Mini Conf
Foss.in Fedora Mini Conf
 
Linux and lamp
Linux and lampLinux and lamp
Linux and lamp
 

Último

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Último (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

An introduction to Docker and Project Atomic

  • 1. An Introduction to Docker and Project Atomic Aditya Patawari Contributor to Fedora Admin team Lead Engineer (Infrastructure) at BrowserStack.com aditya@adityapatawari.com adimania on freenode irc http://blog.adityapatawari.com November 15, 2014 Aditya Patawari An Introduction to Docker and Project Atomic
  • 2. Topics What is Docker? Why not LXC or VM? Project Atomic is here! .. Along with rpm-ostree .. .. and Systemd Starting our Atomic Host Docker Commands Docker Repository Aditya Patawari An Introduction to Docker and Project Atomic
  • 3. What is the problem? My production needs to be homogeneous I need to ship entire environment to my colleague My hypervisor ate all the CPU (or RAM) Classic problem ”.. but it works on my machine .. ” Aditya Patawari An Introduction to Docker and Project Atomic
  • 4. What is Docker? LXC turbo charged Kernel Cgroups and Namespace implementation Using Device Mapper Thin Provionsing Portable. Registries are awesome! Aditya Patawari An Introduction to Docker and Project Atomic
  • 5. Why Docker? Lightweight linux container Boots up in seconds Incrementally build, revert and reuse your container API to manage things remotely Aditya Patawari An Introduction to Docker and Project Atomic
  • 6. Why not LXC containers or VM? Less resource consuming than virtual machines Faster than VM with reasonable amount of isolation. According to a benchmark by Boden Russell, IBM (approx figures): CPU usage 20 % vs 70 % Memory usage 50 MB vs 300 MB Better tools ecosystem around docker than LXC Case study of Spotify Aditya Patawari An Introduction to Docker and Project Atomic
  • 7. Project Atomic is here! Minimal operating system Benefits of our favorite Enterprise Linux Robust atomic upgrades and systemd Ready to take on cloud, virtualized or bare metal Aditya Patawari An Introduction to Docker and Project Atomic
  • 8. .. including rpm-ostree .. Bootable, immutable, versioned filesystem trees Composed from standard rpms Atomic upgrade and rollbacks Only /etc and /var are writable Aditya Patawari An Introduction to Docker and Project Atomic
  • 9. .. and Systemd System and service manager for Linux Replacing the init in Centos 7 Highly modular and much more powerful than sysV Check out http://0pointer.de/blog/projects/why.html Aditya Patawari An Introduction to Docker and Project Atomic
  • 10. Starting Atomic Host Atomic host needs cloud-init data Info about the host, i.e. meta-data Info about the user, i.e. user-data Aditya Patawari An Introduction to Docker and Project Atomic
  • 11. cloud-init data $ cat meta-data instance-id: iid-local01; local-hostname: myhost; $ cat user-data #cloud-config password: mypassword ssh_pwauth: True chpasswd: { expire: False } ssh_authorized_keys: - ssh-rsa ... foo@foo.com $ genisoimage -output init.iso -volid cidata -joliet -rock user-data meta-data Aditya Patawari An Introduction to Docker and Project Atomic
  • 12. Let’s try this out! yum install docker-io systemctl start docker docker pull adimania/fedora-busybox docker run -i -t adimania/fedora-busybox /sbin/sh docker ps docker images docker commit <container><tag> docker stop Aditya Patawari An Introduction to Docker and Project Atomic
  • 13. Dockerfile FROM centos MAINTAINER Aditya Patawari <adimania@fedoraproject.org> RUN yum -y update RUN yum -y install httpd EXPOSE 80 CMD [ "httpd" ] Aditya Patawari An Introduction to Docker and Project Atomic
  • 14. Docker build $ docker build . . . . ---> a8d3d615599a Removing intermediate container cc142bec3471 Step 4 : EXPOSE 6379 ---> Running in 3aaa20ddda02 ---> 3bef54fa4135 Removing intermediate container 3aaa20ddda02 Step 5 : CMD [ "redis-server" ] ---> Running in eef0cb48742a ---> 4f09b11a3dd2 Removing intermediate container eef0cb48742a Successfully built 4f09b11a3dd2 Aditya Patawari An Introduction to Docker and Project Atomic
  • 15. Download only official or trusted images You’re still on your own on security updates An attack on non-namespaced subsystem or device is a potential risk Aditya Patawari An Introduction to Docker and Project Atomic
  • 16. Questions? Now is your chance :) Aditya Patawari An Introduction to Docker and Project Atomic