Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The First Journey from Docker to Podman

Phil Huang
December 21, 2019

The First Journey from Docker to Podman

Phil Huang

December 21, 2019

More Decks by Phil Huang

Other Decks in Technology


  1. The First Journey from Docker to Podman Phil Huang 黃秉鈞

    <[email protected]> SDN x Cloud Native Meetup #23 , Taiwan, Dec. 21, 2019
  2. # whois Phil Huang 黃秉鈞 • 社群斜槓 青年 青壯年 單身

    ◦ SDNDS-TW ◦ Cloud Native Taiwan User Group (CNTUG) • 任職於 Red Hat Solution Architect ◦ Ansible IT Automation ◦ OpenShift Container Platform ◦ Software-Defined Networking (SDN) ◦ Network Function Virtualization (NFV) • Blog ◦ https://blog.pichuang.com.tw Ref: https://www.linkedin.com/in/phil-huang-09b09895/
  3. Please READ it again • Docker Registry => Container Registry

    • Docker Images => Container Images • Docker Container => OCI Container • Dockerfile => Containerfile (NEW!) Ref: https://dwalsh.fedorapeople.org/ReplacingDockerWithPodman.pdf OCI: Open Container Initiative
  4. All Demo Code in here • GitHub: https://github.com/pichuang/debug-container • Quay:

  5. Q1: How to start podman journey? 1. Prepare a Containerfile

    (a.k.a Dockerfile) 2. Install packages yum install podman buildah skopeo -y 3. That’s all
  6. Q2: How to build a container from Containerfile? A: build

    bud -t REPO/NAME:TAG bud = build-using-dockerfile
  7. Q3: How to run the container image? A: podman run

    --rm -it --name NAME REPO/NAME:TAG
  8. Q5: How to running containers with systemd servcies? A1: podman

    generate systemd --name NAME or A2: Gist Sample <- personally prefer Ref: https://www.redhat.com/sysadmin/podman-shareable-systemd-services
  9. Q7: What is the missing commands in podman? Those Docker

    commands currently do not have equivalents in podman • docker {network, node, plugin, secret, service, stack, swarm} • docker container {update, rename} Ref: https://github.com/containers/libpod/blob/master/transfer.md#missing-commands-in-podman
  10. Q8: Does podman can have a remote API daemon? •

    First, Podman is a daemonless container engine • Varlink - a remote API for podman Ref: https://github.com/containers/libpod/blob/master/docs/source/markdown/podman-varlink.1.md Varlink: Remote API 3rd Party Services
  11. Q11: How to run a rootless container? • Example -

    e-minguez/ocp4-upi-bm-pxeless-staticips Ref: https://github.com/containers/libpod/blob/master/docs/tutorials/rootless_tutorial.md https://indico.cern.ch/event/757415/contributions/3421994/attachments/1855302/3047064/Podman_Rootless_Containers.pdf
  12. References • Dockerless, part 1: Which tools to replace Docker

    with and why 簡中 • 再见 Docker,是时候拥抱下一代容器工具了 • Podman 介紹 - Gene Workshop • Hwchiu Learning Note • Kyle Bai’s Blog • Twitter: Scott McCarty <- Highly Recommend ◦ https://crunchtools.com/files/2019/05/Linux-Container-Internals-2.0.pdf