The First Journey from Docker to Podman

D907136acebc72f1df878541b26f271a?s=47 Phil Huang
December 21, 2019

The First Journey from Docker to Podman

D907136acebc72f1df878541b26f271a?s=128

Phil Huang

December 21, 2019
Tweet

Transcript

  1. 1.

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

    <pichuang@pichuang.com.tw> SDN x Cloud Native Meetup #23 , Taiwan, Dec. 21, 2019
  2. 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. 8.

    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. 9.

    All Demo Code in here • GitHub: https://github.com/pichuang/debug-container • Quay:

    https://quay.io/repository/pichuang/debug-container?tab=info
  5. 10.

    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. 11.

    Q2: How to build a container from Containerfile? A: build

    bud -t REPO/NAME:TAG bud = build-using-dockerfile
  7. 12.

    Q3: How to run the container image? A: podman run

    --rm -it --name NAME REPO/NAME:TAG
  8. 13.
  9. 14.

    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
  10. 16.

    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
  11. 17.

    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
  12. 21.

    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
  13. 22.

    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