SlideShare a Scribd company logo
1 of 35
Download to read offline
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

More Related Content

What's hot

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.
 

What's hot (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
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

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