SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
DEVOPS INDONESIA
1
DEVOPS INDONESIA
Jakarta, 20 August 2019
DevOps Community in Indonesia
Docker, What’s next?
DEVOPS INDONESIA
2
DevSecOps enthusiasts
Self proclaimed runner
4+ experience of DevOps in
banking industry
$rfebriya
Riza F. Ariyanto
DEVOPS INDONESIA
3
Background
DEVOPS INDONESIA
4
Still Background
DEVOPS INDONESIA
5
Docker
• 3.5 million applications have been placed in containers using Docker technology
• 37 billion containerized applications have been downloaded.
• 451 Research also sees Docker technology being wildly successful
• Annual revenue is expected to increase by 4x, growing from $749 million in 2016 to
more than $3.4 billion by 2021
DEVOPS INDONESIA
6
Docker
• A container image format
• A method for building container images (Dockerfile/docker build)
• A way to manage container images (docker images, docker rmi, etc.)
• A way to manage instances of containers (docker ps, docker rm, etc.)
• A way to share container images (docker push/pull)
• A way to run containers (docker run)
DEVOPS INDONESIA
7
Moby
Source: Solomon Hykes @solomonstre
DEVOPS INDONESIA
Moby
https://github.com/moby/moby
https://github.com/docker/cli
DEVOPS INDONESIA
9
The History of Containers
2008:
KERNEL & USER
NAMESPACES
2008:
LINUX
CONTAINER
PROJECT (LXC)
2013:
DOTCLOUD
BECOMES
DOCKER
2013:
RED HAT
ENTERPRISE
LINUX
2000
2010
2005
2000:
JAILS ADDED
TO FREEBSD
2006:
PROCESS
CONFINEMENT
2007:
GPC RENAMED
CGROUPS
2014:
GOOGLE
KUBERNETES
2001:
LINUX -VSERVER
PROJECT
2003:
SELINUX
ADDED TO LINUX
MAINLINE
2005:
FULL RELEASE
OF SOLARIS
ZONES
2013:
DOTCLOUD PYCON
LIGHTNING TALK
1979:
CHROOT
SYSCALL ADDED
1979
DEVOPS INDONESIA
10
Container
Important corrections
● Containers do not run ON docker.
Containers are processes - they
run on the Linux kernel.
Containers are Linux.
● The docker daemon is one of the
many user space tools/libraries
that talks to the kernel to set up
containers
DEVOPS INDONESIA
11
Container Engine
1. Provide API/User Interface
○ We really want to use a simple API and/or command line tool. That’s how the docker
command line interface and API were developed.
2. Pulling/Expanding images to disk
○ The container engine has to pull the images to a local cache.
○ Extracting the image layers to disk when a container is created.
3. Building a config.json
○ Container engine is responsible for creating a config.json and passing it to runc.
DEVOPS INDONESIA
Container Runtime
● Consuming the container mount point provided by the Container Engine
● Consuming the container metadata (config.json) provided by the Container
Engine
● Communicating with the kernel to start containerized processes (clone
system call)
● Setting up cgroups
● Setting up SELinux Policy
● Setting up App Armor rules
DEVOPS INDONESIA
You guys should read this
https://www.ianlewis.org/en/container-runtimes-part-1-introduction-container-r
DEVOPS INDONESIA
So what is actually Docker?
Source:https://www.aquasec.com/wiki/display/containers/Docker+Architecture
DEVOPS INDONESIA
So what is actually Docker nowadays?
● Docker contributed that libary to
the OCI standards body as a
reference implementation called
runc.
● runC is a lightweight tool that
does one thing and does it well: it
runs a container.
● Containerd is a simple daemon
that uses runC to manage
containers and exposes
● Docker Engine exposes not only
containers, but also images,
volumes, networks, builds, etc.
using a full-blown HTTP API
DEVOPS INDONESIA
Is not Finished
2017:
Moby project
Announced
2018:
CRI-O is GA and
powers OpenShfit
Online
2017
2016
2018
2015:
Tectonic
Announced
2016:
Docker engine
1.12 adds swarm
2016:
CRI-O project
launched under
the name OCID
2017:
Buildah released
and ships in RHEL
2018:
Podman released
and ships in RHEL
2017:
Kata merges
Clear & RunV
projects
2017:
Docker includes
the new
containerd
2016:
Containerd
project launched
2017:
V1.0 of image &
runtime spec
2018:
V1.0 of
distribution spec
2016:
Skopeo project
launched under
the name OCID
2015
2015:
RED HAT
CONTAINER
PLATFORM 3.0
2015:
STANDARDS VIA
OCI AND CNCF
DEVOPS INDONESIA
18
Standardise Container
• The goal of the OCI is to avoid a
“balkanization” of the container ecosystem,
and ensure that containers built with one
engine can run on another
• Runtime spec (runc = Reference
implementation)
• Image Spec
• Distribution Spec
DEVOPS INDONESIA
19
Use API/Interfaces to Container Runtimes
DEVOPS INDONESIA
21
How a container gets created in a Kubernetes environment
At a high level, conceptually here is what is happening:
Orchestration API -> Container Engine API -> Kernel API
Digging one level deeper:
Kubernetes Master -> Kubelet -> Docker Engine -> containerd
-> runc -> Linux kernel
DEVOPS INDONESIA
22
Next
In OpenShift 4 they are moving to this architecture:
Kubernetes Master -> Kubelet -> CRI-O -> runc -> Linux kernel
In the coming months, theoretically, some Kubernetes deployments could like this, with
containerd:
Kubernetes Master -> Kubelet -> containerd -> runc -> Linux
kernel
DEVOPS INDONESIA
Does It Matter?
CRI-O vs Containerd?
Which one should we use?
DEVOPS INDONESIA
Does It Matter?
DEVOPS INDONESIA
25
Docker alternative
• A method for building container images (Dockerfile/docker build)
• A way to manage container images (docker images, docker rmi , etc.)
• A way to manage instances of containers (docker ps, docker rm , etc.)
• A way to share container images (docker push/pull)
• A way to run containers (docker run)
DEVOPS INDONESIA
26
CRI-O
DEVOPS INDONESIA
27
CRI-O
Open source & Open governance
Lean, Stable, Secure and BORING!
● Tied to the CRI
● Shaped around Kubernetes
● Only supported user is Kubernetes
● Versioning and Support are tied to
Kubernetes
DEVOPS INDONESIA
28
Podman
DEVOPS INDONESIA
29
Podman
Library (libpod) and CLI (podman) for
managing OCI-based Pods, Containers, and
Container Images
• Replacement for docker cli (known CLI)
• Integrated with CRI-O
• No daemon running
DEVOPS INDONESIA
30
Demo Podman
$ docker images
$ sudo systemctl stop docker
$ podman images
$ podman run -it -d --rm -p 8080:80 nginx
$ curl http://localhost:8080
$ podman ps
$ podman logs <CONTAINER_ID>
$ podman exec -t <CONTAINER_ID> ls /etc/nginx
$ podman images
$ podman run -t fedora echo "Hello Riza"
$ podman ps -a
DEVOPS INDONESIA
31
Skopeo
• Copy images from/to (multiple
transports/storages)
• Inspect images
• Delete an image from a repository
• Standalone binary / No daemon running
• Perfect for pipelines (e.g. Jenkins)
DEVOPS INDONESIA
Demo Skopeo
COPY IMAGE
$ skopeo copy docker://busybox:latest docker-daemon:riza/busybox:200819
$ skopeo copy docker://busybox:latest docker://rfebriya/busybox:200819
$ docker images
$ docker run -it --rm -d riza/busybox:200819
$ docker ps -a
$ docker rm $(docker ps -qa)
$ skopeo inspect docker://busybox:latest
DEVOPS INDONESIA
33
Buildah
• Build images
• No daemon running
• shell-like syntax
• Build from Dockerfile(s)
DEVOPS INDONESIA
34
Demo Buildah
$ container=$(buildah from fedora)
$ buildah containers
$ buildah config --author "rfebriya" --label "METADATA=Built with buildah"
$container
$ buildah inspect $container
$ buildah run $container sh
# echo “Hello Riza, built by Buildah” > /hello
# ls /
# cat /hello
# exit
$ buildah commit $container riza/example-buildah
$ podman run -it riza/example-buildah cat /hello
$ buildah bud -t riza/example-buildah-dockerfile:200819 -f 200819/Dockerfile .
$ podman run -it riza/example-buildah-dockerfile:200819 cat /hello
DEVOPS INDONESIA
35
Dockerless
Consume a Dockerfile, but build image without a docker daemon
Pros:
• Docker build-like experience (just write a Dockerfile)
• Less configuration
• Docker image best practices can be codified into tools
Cons:
• Dockerfile fidelity might make difficult some use cases
• Different approaches to image layer construction; Very fragmented across vendors,
no real standard
DEVOPS INDONESIA
Conclusion
1. Docker still provides nice end-to-end experience when it comes to containers
especially for developers
2. Docker engine doesn’t move at the same speed as Kubernetes. It’s on a totally
different lifecycle (same with containerd). This makes it difficult to add features
in the engine to support the Kubelet.
3. There’s some alternatives out there beside the Docker and it’s still far from
finished yet.
DEVOPS INDONESIA
37
THANK YOU !
Quote by Steve

Weitere ähnliche Inhalte

Was ist angesagt?

Docker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker, Inc.
 
DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith  DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith Docker, Inc.
 
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Julien Barbier
 
Docker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott CoultonDocker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott CoultonDocker, Inc.
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1Docker, Inc.
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDocker, Inc.
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of dockerJohn Zaccone
 
Why I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Why I wish I'd Heard of Docker when I was 12 - Finnian AndersonWhy I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Why I wish I'd Heard of Docker when I was 12 - Finnian AndersonDocker, Inc.
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamRachid Zarouali
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet Singh Raina
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!Docker, Inc.
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
Docker crash course
Docker crash courseDocker crash course
Docker crash courseVishwas N
 
My Journey to Becoming a Docker Captain
My Journey to Becoming a Docker CaptainMy Journey to Becoming a Docker Captain
My Journey to Becoming a Docker CaptainAjeet Singh Raina
 
DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses  DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses Docker, Inc.
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016Docker, Inc.
 

Was ist angesagt? (20)

Docker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EE
 
DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith  DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith
 
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014
 
Docker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott CoultonDocker in Production, Look No Hands! by Scott Coulton
Docker in Production, Look No Hands! by Scott Coulton
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDCSF19 Docker Containers & Java: What I Wish I Had Been Told
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
Why I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Why I wish I'd Heard of Docker when I was 12 - Finnian AndersonWhy I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Why I wish I'd Heard of Docker when I was 12 - Finnian Anderson
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Docker crash course
Docker crash courseDocker crash course
Docker crash course
 
My Journey to Becoming a Docker Captain
My Journey to Becoming a Docker CaptainMy Journey to Becoming a Docker Captain
My Journey to Becoming a Docker Captain
 
DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses  DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses
 
Dockercon 2018 EU Updates
Dockercon 2018 EU Updates Dockercon 2018 EU Updates
Dockercon 2018 EU Updates
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
 

Ähnlich wie Docker, what's next ?

Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014Rafe Colton
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...Docker, Inc.
 
DevOps Indonesia #5 - The Future of Containers
DevOps Indonesia #5 - The Future of ContainersDevOps Indonesia #5 - The Future of Containers
DevOps Indonesia #5 - The Future of ContainersDevOps Indonesia
 
Build and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes worldBuild and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes worldJorge Morales
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesArun Gupta
 
Docker puebla bday #4 celebration
Docker puebla bday #4 celebrationDocker puebla bday #4 celebration
Docker puebla bday #4 celebrationRamon Morales
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with DockerGeeta Vinnakota
 
Containers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes IstioContainers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes IstioAraf Karsh Hamid
 
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
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsElasTest Project
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with dockerMichelle Liu
 

Ähnlich wie Docker, what's next ? (20)

Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014
 
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
 
DevOps Indonesia #5 - The Future of Containers
DevOps Indonesia #5 - The Future of ContainersDevOps Indonesia #5 - The Future of Containers
DevOps Indonesia #5 - The Future of Containers
 
Devops indonesia - The Future Container
Devops indonesia - The Future ContainerDevops indonesia - The Future Container
Devops indonesia - The Future Container
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Build and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes worldBuild and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes world
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
 
Docker puebla bday #4 celebration
Docker puebla bday #4 celebrationDocker puebla bday #4 celebration
Docker puebla bday #4 celebration
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Docker
DockerDocker
Docker
 
Containers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes IstioContainers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes Istio
 
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
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with docker
 
Docker lxc win
Docker lxc winDocker lxc win
Docker lxc win
 

Mehr von DevOps Indonesia

DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation JourneyDevOps Indonesia
 
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022DevOps Indonesia
 
Securing an NGINX deployment for K8s
Securing an NGINX deployment for K8sSecuring an NGINX deployment for K8s
Securing an NGINX deployment for K8sDevOps Indonesia
 
Observability in highly distributed systems
Observability in highly distributed systemsObservability in highly distributed systems
Observability in highly distributed systemsDevOps Indonesia
 
DevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcementDevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcementDevOps Indonesia
 
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - AnnouncementDev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - AnnouncementDevOps Indonesia
 
DevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - AnnouncementDevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - AnnouncementDevOps Indonesia
 
Secure your Application with Google cloud armor
Secure your Application with Google cloud armorSecure your Application with Google cloud armor
Secure your Application with Google cloud armorDevOps Indonesia
 
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps IndonesiaDevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps IndonesiaDevOps Indonesia
 
Operate Containers with AWS Copilot
Operate Containers with AWS CopilotOperate Containers with AWS Copilot
Operate Containers with AWS CopilotDevOps Indonesia
 
Continuously Deploy Your CDK Application by Petra novandi barus
Continuously  Deploy Your CDK Application by Petra novandi barusContinuously  Deploy Your CDK Application by Petra novandi barus
Continuously Deploy Your CDK Application by Petra novandi barusDevOps Indonesia
 
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...DevOps Indonesia
 
Securing Your Database Dynamic DB Credentials
Securing Your Database  Dynamic DB CredentialsSecuring Your Database  Dynamic DB Credentials
Securing Your Database Dynamic DB CredentialsDevOps Indonesia
 
DevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - AnnouncementDevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - AnnouncementDevOps Indonesia
 
The Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOpsThe Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOpsDevOps Indonesia
 
API Security Webinar - Credential Stuffing
API Security Webinar - Credential StuffingAPI Security Webinar - Credential Stuffing
API Security Webinar - Credential StuffingDevOps Indonesia
 
API Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIsAPI Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIsDevOps Indonesia
 
API Security Webinar - Hendra Tanto
API Security Webinar - Hendra TantoAPI Security Webinar - Hendra Tanto
API Security Webinar - Hendra TantoDevOps Indonesia
 
API Security Webinar : Credential Stuffing
API Security Webinar : Credential StuffingAPI Security Webinar : Credential Stuffing
API Security Webinar : Credential StuffingDevOps Indonesia
 

Mehr von DevOps Indonesia (20)

DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
 
Securing an NGINX deployment for K8s
Securing an NGINX deployment for K8sSecuring an NGINX deployment for K8s
Securing an NGINX deployment for K8s
 
Observability in highly distributed systems
Observability in highly distributed systemsObservability in highly distributed systems
Observability in highly distributed systems
 
DevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcementDevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcement
 
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - AnnouncementDev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
 
Securing DevOps Lifecycle
Securing DevOps LifecycleSecuring DevOps Lifecycle
Securing DevOps Lifecycle
 
DevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - AnnouncementDevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - Announcement
 
Secure your Application with Google cloud armor
Secure your Application with Google cloud armorSecure your Application with Google cloud armor
Secure your Application with Google cloud armor
 
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps IndonesiaDevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
 
Operate Containers with AWS Copilot
Operate Containers with AWS CopilotOperate Containers with AWS Copilot
Operate Containers with AWS Copilot
 
Continuously Deploy Your CDK Application by Petra novandi barus
Continuously  Deploy Your CDK Application by Petra novandi barusContinuously  Deploy Your CDK Application by Petra novandi barus
Continuously Deploy Your CDK Application by Petra novandi barus
 
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
 
Securing Your Database Dynamic DB Credentials
Securing Your Database  Dynamic DB CredentialsSecuring Your Database  Dynamic DB Credentials
Securing Your Database Dynamic DB Credentials
 
DevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - AnnouncementDevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - Announcement
 
The Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOpsThe Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOps
 
API Security Webinar - Credential Stuffing
API Security Webinar - Credential StuffingAPI Security Webinar - Credential Stuffing
API Security Webinar - Credential Stuffing
 
API Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIsAPI Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIs
 
API Security Webinar - Hendra Tanto
API Security Webinar - Hendra TantoAPI Security Webinar - Hendra Tanto
API Security Webinar - Hendra Tanto
 
API Security Webinar : Credential Stuffing
API Security Webinar : Credential StuffingAPI Security Webinar : Credential Stuffing
API Security Webinar : Credential Stuffing
 

Kürzlich hochgeladen

Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Kürzlich hochgeladen (20)

Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 

Docker, what's next ?

  • 1. DEVOPS INDONESIA 1 DEVOPS INDONESIA Jakarta, 20 August 2019 DevOps Community in Indonesia Docker, What’s next?
  • 2. DEVOPS INDONESIA 2 DevSecOps enthusiasts Self proclaimed runner 4+ experience of DevOps in banking industry $rfebriya Riza F. Ariyanto
  • 5. DEVOPS INDONESIA 5 Docker • 3.5 million applications have been placed in containers using Docker technology • 37 billion containerized applications have been downloaded. • 451 Research also sees Docker technology being wildly successful • Annual revenue is expected to increase by 4x, growing from $749 million in 2016 to more than $3.4 billion by 2021
  • 6. DEVOPS INDONESIA 6 Docker • A container image format • A method for building container images (Dockerfile/docker build) • A way to manage container images (docker images, docker rmi, etc.) • A way to manage instances of containers (docker ps, docker rm, etc.) • A way to share container images (docker push/pull) • A way to run containers (docker run)
  • 9. DEVOPS INDONESIA 9 The History of Containers 2008: KERNEL & USER NAMESPACES 2008: LINUX CONTAINER PROJECT (LXC) 2013: DOTCLOUD BECOMES DOCKER 2013: RED HAT ENTERPRISE LINUX 2000 2010 2005 2000: JAILS ADDED TO FREEBSD 2006: PROCESS CONFINEMENT 2007: GPC RENAMED CGROUPS 2014: GOOGLE KUBERNETES 2001: LINUX -VSERVER PROJECT 2003: SELINUX ADDED TO LINUX MAINLINE 2005: FULL RELEASE OF SOLARIS ZONES 2013: DOTCLOUD PYCON LIGHTNING TALK 1979: CHROOT SYSCALL ADDED 1979
  • 10. DEVOPS INDONESIA 10 Container Important corrections ● Containers do not run ON docker. Containers are processes - they run on the Linux kernel. Containers are Linux. ● The docker daemon is one of the many user space tools/libraries that talks to the kernel to set up containers
  • 11. DEVOPS INDONESIA 11 Container Engine 1. Provide API/User Interface ○ We really want to use a simple API and/or command line tool. That’s how the docker command line interface and API were developed. 2. Pulling/Expanding images to disk ○ The container engine has to pull the images to a local cache. ○ Extracting the image layers to disk when a container is created. 3. Building a config.json ○ Container engine is responsible for creating a config.json and passing it to runc.
  • 12. DEVOPS INDONESIA Container Runtime ● Consuming the container mount point provided by the Container Engine ● Consuming the container metadata (config.json) provided by the Container Engine ● Communicating with the kernel to start containerized processes (clone system call) ● Setting up cgroups ● Setting up SELinux Policy ● Setting up App Armor rules
  • 13. DEVOPS INDONESIA You guys should read this https://www.ianlewis.org/en/container-runtimes-part-1-introduction-container-r
  • 14. DEVOPS INDONESIA So what is actually Docker? Source:https://www.aquasec.com/wiki/display/containers/Docker+Architecture
  • 15. DEVOPS INDONESIA So what is actually Docker nowadays? ● Docker contributed that libary to the OCI standards body as a reference implementation called runc. ● runC is a lightweight tool that does one thing and does it well: it runs a container. ● Containerd is a simple daemon that uses runC to manage containers and exposes ● Docker Engine exposes not only containers, but also images, volumes, networks, builds, etc. using a full-blown HTTP API
  • 16. DEVOPS INDONESIA Is not Finished 2017: Moby project Announced 2018: CRI-O is GA and powers OpenShfit Online 2017 2016 2018 2015: Tectonic Announced 2016: Docker engine 1.12 adds swarm 2016: CRI-O project launched under the name OCID 2017: Buildah released and ships in RHEL 2018: Podman released and ships in RHEL 2017: Kata merges Clear & RunV projects 2017: Docker includes the new containerd 2016: Containerd project launched 2017: V1.0 of image & runtime spec 2018: V1.0 of distribution spec 2016: Skopeo project launched under the name OCID 2015 2015: RED HAT CONTAINER PLATFORM 3.0 2015: STANDARDS VIA OCI AND CNCF
  • 17. DEVOPS INDONESIA 18 Standardise Container • The goal of the OCI is to avoid a “balkanization” of the container ecosystem, and ensure that containers built with one engine can run on another • Runtime spec (runc = Reference implementation) • Image Spec • Distribution Spec
  • 18. DEVOPS INDONESIA 19 Use API/Interfaces to Container Runtimes
  • 19. DEVOPS INDONESIA 21 How a container gets created in a Kubernetes environment At a high level, conceptually here is what is happening: Orchestration API -> Container Engine API -> Kernel API Digging one level deeper: Kubernetes Master -> Kubelet -> Docker Engine -> containerd -> runc -> Linux kernel
  • 20. DEVOPS INDONESIA 22 Next In OpenShift 4 they are moving to this architecture: Kubernetes Master -> Kubelet -> CRI-O -> runc -> Linux kernel In the coming months, theoretically, some Kubernetes deployments could like this, with containerd: Kubernetes Master -> Kubelet -> containerd -> runc -> Linux kernel
  • 21. DEVOPS INDONESIA Does It Matter? CRI-O vs Containerd? Which one should we use?
  • 23. DEVOPS INDONESIA 25 Docker alternative • A method for building container images (Dockerfile/docker build) • A way to manage container images (docker images, docker rmi , etc.) • A way to manage instances of containers (docker ps, docker rm , etc.) • A way to share container images (docker push/pull) • A way to run containers (docker run)
  • 25. DEVOPS INDONESIA 27 CRI-O Open source & Open governance Lean, Stable, Secure and BORING! ● Tied to the CRI ● Shaped around Kubernetes ● Only supported user is Kubernetes ● Versioning and Support are tied to Kubernetes
  • 27. DEVOPS INDONESIA 29 Podman Library (libpod) and CLI (podman) for managing OCI-based Pods, Containers, and Container Images • Replacement for docker cli (known CLI) • Integrated with CRI-O • No daemon running
  • 28. DEVOPS INDONESIA 30 Demo Podman $ docker images $ sudo systemctl stop docker $ podman images $ podman run -it -d --rm -p 8080:80 nginx $ curl http://localhost:8080 $ podman ps $ podman logs <CONTAINER_ID> $ podman exec -t <CONTAINER_ID> ls /etc/nginx $ podman images $ podman run -t fedora echo "Hello Riza" $ podman ps -a
  • 29. DEVOPS INDONESIA 31 Skopeo • Copy images from/to (multiple transports/storages) • Inspect images • Delete an image from a repository • Standalone binary / No daemon running • Perfect for pipelines (e.g. Jenkins)
  • 30. DEVOPS INDONESIA Demo Skopeo COPY IMAGE $ skopeo copy docker://busybox:latest docker-daemon:riza/busybox:200819 $ skopeo copy docker://busybox:latest docker://rfebriya/busybox:200819 $ docker images $ docker run -it --rm -d riza/busybox:200819 $ docker ps -a $ docker rm $(docker ps -qa) $ skopeo inspect docker://busybox:latest
  • 31. DEVOPS INDONESIA 33 Buildah • Build images • No daemon running • shell-like syntax • Build from Dockerfile(s)
  • 32. DEVOPS INDONESIA 34 Demo Buildah $ container=$(buildah from fedora) $ buildah containers $ buildah config --author "rfebriya" --label "METADATA=Built with buildah" $container $ buildah inspect $container $ buildah run $container sh # echo “Hello Riza, built by Buildah” > /hello # ls / # cat /hello # exit $ buildah commit $container riza/example-buildah $ podman run -it riza/example-buildah cat /hello $ buildah bud -t riza/example-buildah-dockerfile:200819 -f 200819/Dockerfile . $ podman run -it riza/example-buildah-dockerfile:200819 cat /hello
  • 33. DEVOPS INDONESIA 35 Dockerless Consume a Dockerfile, but build image without a docker daemon Pros: • Docker build-like experience (just write a Dockerfile) • Less configuration • Docker image best practices can be codified into tools Cons: • Dockerfile fidelity might make difficult some use cases • Different approaches to image layer construction; Very fragmented across vendors, no real standard
  • 34. DEVOPS INDONESIA Conclusion 1. Docker still provides nice end-to-end experience when it comes to containers especially for developers 2. Docker engine doesn’t move at the same speed as Kubernetes. It’s on a totally different lifecycle (same with containerd). This makes it difficult to add features in the engine to support the Kubelet. 3. There’s some alternatives out there beside the Docker and it’s still far from finished yet.
  • 35. DEVOPS INDONESIA 37 THANK YOU ! Quote by Steve