$30 off During Our Annual Pro Sale. View Details »

The First Journey from Docker to Podman

Phil Huang
December 21, 2019

The First Journey from Docker to Podman

Phil Huang

December 21, 2019
Tweet

More Decks by Phil Huang

Other Decks in Technology

Transcript

  1. The First Journey
    from Docker to Podman
    Phil Huang 黃秉鈞
    SDN x Cloud Native Meetup #23 , Taiwan, Dec. 21, 2019

    View Slide

  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/

    View Slide

  3. Specical Thanks - 天瓏書局
    Ref: https://www.tenlong.com.tw/

    View Slide

  4. Specical Thanks - HackMD
    Ref: https://hackmd.io/c/tutorials/%2Fs%2Ftutorials

    View Slide

  5. First of All, THANKS YOU, Docker!

    View Slide

  6. Ref: https://zwischenzugs.com/2019/07/27/goodbye-docker-purging-is-such-sweet-sorrow/

    View Slide

  7. Say Hello to Podman, Buildah and Skopeo
    Ref: https://www.redhat.com/en/blog/rhel-8-enables-containers-tools-software-craftsmanship-0
    https://events19.linuxfoundation.org/wp-content/uploads/2018/07/OSS-Japan-SlidesPodman-Buildah-and-Quarkus-The-Latest-in-Linux-Container
    s-Technology-.pdf

    View Slide

  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

    View Slide

  9. All Demo Code in here
    ● GitHub: https://github.com/pichuang/debug-container
    ● Quay:
    https://quay.io/repository/pichuang/debug-container?tab=info

    View Slide

  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

    View Slide

  11. Q2: How to build a container from Containerfile?
    A: build bud -t REPO/NAME:TAG
    bud = build-using-dockerfile

    View Slide

  12. Q3: How to run the container image?
    A: podman run --rm -it --name NAME REPO/NAME:TAG

    View Slide

  13. Q4: How to inspect the container image?
    A: skopeo inspect containers-storage:REPO/NAME:TAG

    View Slide

  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

    View Slide

  15. Q6: How to replace docker command easily?
    A1: alias docker=podman
    or
    A2: yum install podman-docker -y

    View Slide

  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

    View Slide

  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

    View Slide

  18. Q9: Support docker-compose?
    ● Alternative project: podman-compose
    Ref: https://github.com/containers/podman-compose/tree/devel/examples

    View Slide

  19. Q10: What is the next?
    Ref: https://blog.pichuang.com.tw/20190715-troubleshooting-from-container-to-any/

    View Slide

  20. Q10: What is the next?
    Ref: https://learn.openshift.com/subsystems/

    View Slide

  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

    View Slide

  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

    View Slide

  23. Q&A
    台上一小時,台下三日夜
    社群正向回饋,需要一起參與

    View Slide