Skip to main content
0

āļŠāļģāļŦāļĢāļąāļšāļ•āļ­āļ™āļ™āļĩāđ‰āđ€āļĢāļ·āđˆāļ­āļ‡āļ‚āļ­āļ‡ Cloud Native āļĄāļēāđāļĢāļ‡āļĄāļēāļ āđ† āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāđƒāļŠāđ‰ Container āļāđ‡āđ€āļĢāļīāđˆāļĄāļˆāļ°āļāļĨāļēāļĒāļˆāļ°āđ€āļ›āđ‡āļ™āđ€āļĢāļ·āđˆāļ­āļ‡āļ›āļāļ•āļīāļ‚āļ­āļ‡āļžāļ§āļāđ€āļĢāļēāđ€āļŦāļĨāđˆāļēāđ€āļ”āļŸāđāļĨāļ°āļŠāļēāļ§āļ­āļīāļ™āļŸāđˆāļēāļāļąāļ™āđ„āļ›āđāļĨāđ‰āļ§ āđāļ•āđˆāļāļēāļĢāļˆāļąāļ”āļāļēāļĢ Container āļ™āļąāđ‰āļ™āļāđ‡āđ„āļĄāđˆāđƒāļŠāđˆāļ§āđˆāļēāļˆāļ°āđ€āļ›āđ‡āļ™āđ€āļĢāļ·āđˆāļ­āļ‡āļĒāļēāļ āđ€āļžāļĢāļēāļ°āđƒāļ™āļ•āļ­āļ™āļ™āļĩāđ‰āļāđ‡āļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ Container āđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āđ€āļĢāļ·āđˆāļ­āļ‡āļ‡āđˆāļēāļĒāļĄāļĩāđƒāļŦāđ‰āđ€āļĨāļ·āļ­āļāđƒāļŠāđ‰āļĄāļēāļāļĄāļēāļĒ

āļ‹āļķāđˆāļ‡āļ§āļąāļ™āļ™āļĩāđ‰āđāļ­āļ”āļˆāļ°āļžāļēāļĄāļēāļĢāļđāđ‰āļˆāļąāļāļāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļˆāļąāļ”āļāļēāļĢ Container āđ€āļ”āđ‡āļ” āđ† āļ•āļąāļ§āđ€āļ•āđ‡āļ‡ āđ† āļ—āļĩāđˆāļ™āđˆāļēāļˆāļ°āđ€āļ„āļĒāđ„āļ”āđ‰āļĒāļīāļ™āļŠāļ·āđˆāļ­āļāļąāļ™āļĄāļēāļšāđ‰āļēāļ‡āļ™āļąāđˆāļ™āļāđ‡āļ„āļ·āļ­ Docker āđāļĨāļ° Podman āļŠāļ­āļ‡āļ•āļąāļ§āļ™āļĩāđ‰āļ–āļđāļāļžāļđāļ”āļ–āļķāļ‡āđāļĨāļ°āļĄāļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ—āļĩāđˆāđāļžāļĢāđˆāļŦāļĨāļēāļĒāļāļąāļ™āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§ āđāļ•āđˆāļŠāļģāļŦāļĢāļąāļšāđƒāļ„āļĢāļ—āļĩāđˆāđ€āļ„āļĒāđƒāļŠāđ‰āļ•āļąāļ§āđƒāļ”āļ•āļąāļ§āļŦāļ™āļķāđˆāļ‡āļĄāļēāļāđˆāļ­āļ™āļ­āļĒāļēāļāļĢāļđāđ‰āļ§āđˆāļēāļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļŠāļ­āļ‡āļ•āļąāļ§āļ™āļĩāđ‰ āļĄāļąāļ™āđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āļĄāļąāđ‰āļĒ āđƒāļŠāđ‰āļ‡āļēāļ™āļĒāļēāļ āļ‡āđˆāļēāļĒāđāļ„āđˆāđ„āļŦāļ™ āđ€āļ”āļĩāđ‹āļĒāļ§āđ€āļĢāļēāļĄāļēāļ”āļđāđ„āļ›āļžāļĢāđ‰āļ­āļĄāļāļąāļ™āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āļāļąāļ™āđ€āļĨāļĒ !

Docker āđāļĨāļ° Podman āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

Docker āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

Docker āļ„āļ·āļ­āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ container āļ—āļĩāđˆāļ„āđˆāļ­āļ™āļ‚āđ‰āļēāļ‡āļˆāļ°āļĄāļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ” āđ‚āļ”āļĒāļ„āļ™āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ āļŦāļēāļāļ„āļīāļ”āļ–āļķāļ‡ container āļāđ‡āļˆāļ°āļ™āļķāļāļ–āļķāļ‡ Docker āđ€āļ›āđ‡āļ™āļ­āļąāļ™āļ”āļąāļšāļ•āđ‰āļ™āđ† āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļĩāļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ„āđˆāļ­āļ™āļ‚āđ‰āļēāļ‡āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄ āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ container āđ€āļ›āđ‡āļ™āđ€āļĢāļ·āđˆāļ­āļ‡āļ‡āđˆāļēāļĒ āļ•āļąāđ‰āļ‡āđāļ•āđˆāđāļžāđ‡āļ„āđāļ­āļ›āđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ image āđ„āļ›āļˆāļ™āļ–āļķāļ‡ Lifecycle āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡ container āđ„āļ”āđ‰ 

Podman āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

Podman āļ„āļ·āļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļˆāļąāļ”āļāļēāļĢ container āđāļšāļš open-source āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļšāļ™ Linux āđ„āļ”āđ‰āđ‚āļ”āļĒāļ•āļĢāļ‡ āđāļ•āđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļāđ‡āļĄāļĩāļ•āļąāļ§āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļŠāļģāļŦāļĢāļąāļš Windows āļĄāļēāđƒāļŦāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āđāļĨāđ‰āļ§āđƒāļ™āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ—āļĩāđˆāđ€āļ›āđ‡āļ™ 4.x āļ‹āļķāđˆāļ‡ Podman āļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āļžāļąāļ’āļ™āļē āļŠāļĢāđ‰āļēāļ‡ āđāļĨāļ°āļĢāļąāļ™ container āļ•āļēāļĄāļĄāļēāļ•āļĢāļāļēāļ™āļ‚āļ­āļ‡ Open Container Initiative (OCI) āđ‚āļ”āļĒāļŦāļĨāļąāļāđ† āđāļĨāđ‰āļ§āļ–āļ·āļ­āđ€āļ›āđ‡āļ™āļ­āļĩāļāļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ‚āļ­āļ‡ Docker  āļĄāļĩāļ„āļ§āļēāļĄāļ„āļĨāđ‰āļēāļĒāļ„āļĨāļķāļ‡āļāļąāļ™āđāļĨāļ°āļšāļēāļ‡āļŠāđˆāļ§āļ™āļĒāļąāļ‡āļ—āļģāļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āđ„āļ”āđ‰āļ­āļĩāļāļ”āđ‰āļ§āļĒ

āđ‚āļ”āļĒāļˆāļ°āļĄāļēāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš Step āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ•āđ‰āļ™

āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Docker Desktop

āđ„āļ›āļ—āļĩāđˆāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ Docker (https://www.docker.com/products/docker-desktop/) āļ„āļĨāļīāļāļ›āļļāđˆāļĄ “Download Docker Desktop” āđ€āļĨāļ·āļ­āļāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļšāļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļ‚āļ­āļ‡āđ€āļĢāļē

āđ€āļĄāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļŠāļĢāđ‡āļˆāđ€āļĢāļĩāļĒāļšāļĢāđ‰āļ­āļĒāđāļĨāđ‰āļ§ āđ€āļĢāļēāļāđ‡āļˆāļ°āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļāļēāļĢāđ€āļ›āļīāļ”āđ‚āļ›āļĢāđāļāļĢāļĄ Docker Desktop āļ‚āļķāđ‰āļ™āļĄāļē

āļŦāļĨāļąāļ‡āļˆāļēāļāļ™āļąāđ‰āļ™āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Docker CLI āđ„āļ”āđ‰āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡

 docker run hello-world āđ€āļžāļ·āđˆāļ­āļĢāļąāļ™ image āļŠāļģāļŦāļĢāļąāļšāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ docker 

āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Podman

āđ„āļ›āļ—āļĩāđˆāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ podman (https://podman.io/docs/installation) āļˆāļ°āļĄāļĩāļ„āļđāđˆāļĄāļ·āļ­āđƒāļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Podman āđƒāļ™ OS āļ•āđˆāļēāļ‡ āđ† āđƒāļ™āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ•āļēāļĄāļ„āļđāđˆāļĄāļ·āļ­āđ„āļ”āđ‰āđ€āļĨāļĒ 

āđ€āļŠāđˆāļ™ brew install podman āđƒāļ™ macOS āļŦāļĢāļ·āļ­ sudo apt-get -y install podman āđƒāļ™ Linux āļšāļēāļ‡āļ•āļąāļ§ āļŦāļēāļāđ€āļ›āđ‡āļ™āļšāļ™ Windows āļŠāļēāļĄāļēāļĢāļ–āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āļ•āļąāļ§āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ„āļ”āđ‰āļ—āļĩāđˆāļĨāļīāļ‡āļāđŒāļ™āļĩāđ‰ https://github.com/containers/podman/releases

āļŦāļĨāļąāļ‡āļˆāļēāļāļ—āļĩāđˆāđ€āļĢāļēāđ„āļ”āđ‰āļ—āļģāļāļēāļĢ Download āđāļĨāļ°āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ€āļŠāļĢāđ‡āļˆāđ€āļĢāļĩāļĒāļšāļĢāđ‰āļ­āļĒāđāļĨāđ‰āļ§āđƒāļŦāđ‰āļ—āļģāļāļēāļĢāđ€āļ›āļīāļ” Terminal āļ‚āļķāđ‰āļ™āļĄāļēāđāļĨāđ‰āļ§āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āļ§āđˆāļē podman machine init

āđ‚āļ”āļĒ Podman Machine  āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļˆāļąāļ”āļāļēāļĢāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āđ€āļŠāļĄāļ·āļ­āļ™ (Virtual Machine – VM) āļ—āļĩāđˆāļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ Linux āļ‚āļ™āļēāļ”āđ€āļĨāđ‡āļ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļ™ containers āđ„āļ”āđ‰

āđ‚āļ”āļĒāļ„āļģāļŠāļąāđˆāļ‡ podman machine init āđ€āļ›āđ‡āļ™āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āļ•āļąāđ‰āļ‡āļ„āđˆāļē (initialize) VM āļ‚āļ­āļ‡ Podman

āļŠāļīāđˆāļ‡āļ—āļĩāđˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™:

  • āļĄāļąāļ™āļˆāļ°āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ” VM image āļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄ
  • āļŠāļĢāđ‰āļēāļ‡ File System āļŠāļģāļŦāļĢāļąāļš VM
  • āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ Network
  • āļŠāļĢāđ‰āļēāļ‡ SSH Keys āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āđ€āļ‚āđ‰āļēāļ–āļķāļ‡ VM

āļ•āđˆāļ­āļĄāļēāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ podman machine start āđ€āļžāļ·āđˆāļ­āļŠāļ•āļēāļĢāđŒāļ— VM āļ‚āļ­āļ‡ Podman āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļžāļĢāđ‰āļ­āļĄāđƒāļŠāđ‰āļ‡āļēāļ™

āļŠāļīāđˆāļ‡āļ—āļĩāđˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™:

  • āļĄāļąāļ™āļˆāļ° Boot āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™ VM
  • Config āđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđ€āļ‚āđ‰āļēāđ„āļ›āļˆāļąāļ”āļāļēāļĢ containers āļˆāļēāļāđ€āļ„āļĢāļ·āđˆāļ­āļ‡ host āđ„āļ”āđ‰

āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰ Podman Desktop  āļ—āļĩāđˆāđ€āļ›āđ‡āļ™ GUI āđāļšāļš Docker Desktop āļāđ‡āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ” āđ„āļ”āđ‰āļ—āļĩāđˆ https://podman-desktop.io/ āļˆāļ°āđ„āļ”āđ‰āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāļŦāļ™āđ‰āļēāļ•āļēāđ€āļŦāļĄāļ·āļ­āļ™ Docker Desktop āđ€āļĨāļĒ

āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Podman CLI āđ€āļĢāļēāļāđ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ podman run hello-world āđ„āļ”āđ‰āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™ 

āļŠāļēāļ˜āļīāļ•āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡
āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ NodeJS Express

āļŠāļĢāđ‰āļēāļ‡ Node.JS Express Application:

mkdir my-app
cd my-app
npm init -y
npm install express
const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello from my Express app in a container!');
});

app.listen(port, () => {
  console.log(`Server listening on port ${port}`);
});

āļŠāļĢāđ‰āļēāļ‡ Dockerfile

āļ§āļīāļ˜āļĩ build image āļˆāļēāļ Dockerfile āđ‚āļ”āļĒāđƒāļŠāđ‰ Docker 

  • āđ„āļ›āļ—āļĩāđˆ directory āļ—āļĩāđˆāļĄāļĩ Dockerfile
  • āļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ docker build
  • āļĢāļ°āļšāļļāļŠāļ·āđˆāļ­ image: docker build -t <āļŠāļ·āđˆāļ­ image> .

āļ§āļīāļ˜āļĩ build image āļˆāļēāļ Dockerfile āđ‚āļ”āļĒāđƒāļŠāđ‰ Podman

  • āđ„āļ›āļ—āļĩāđˆ directory āļ—āļĩāđˆāļĄāļĩ Dockerfile
  • āļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ podman build
  • āļĢāļ°āļšāļļāļŠāļ·āđˆāļ­ image: podman build -t <āļŠāļ·āđˆāļ­ image> .

āļ§āļīāļ˜āļĩāļĢāļąāļ™ Container āđ‚āļ”āļĒāđƒāļŠāđ‰ Docker

  • āļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ docker run
  • docker run <āļŠāļ·āđˆāļ­ image>
  • āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđāļĄāļ› port āđ‚āļ”āļĒāđƒāļŠāđ‰ -p āđ„āļ”āđ‰: docker run -p <port host>:<port container> <āļŠāļ·āđˆāļ­ image>

āļ§āļīāļ˜āļĩāļĢāļąāļ™ Container āđ‚āļ”āļĒāđƒāļŠāđ‰ Podman

  • āļĢāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡ podman run
  • podman run <āļŠāļ·āđˆāļ­ image>
  • āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđāļĄāļ› port āđ‚āļ”āļĒāđƒāļŠāđ‰ -p āđ„āļ”āđ‰: podman run -p <port host>:<port container> <āļŠāļ·āđˆāļ­ image>

āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Container āļ—āļĩāđˆāđ€āļĢāļēāļŠāļąāđˆāļ‡āļĢāļąāļ™āļĄāļąāļ™āļ—āļģāļ‡āļēāļ™āļˆāļĢāļīāļ‡āļŦāļĢāļ·āļ­āļ›āđˆāļēāļ§?

āđ€āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāđāļĨāđ‰āļ§āđ€āļ‚āđ‰āļē http://localhost:3000 āļ„āļļāļ“āļ„āļ§āļĢāļˆāļ°āđ€āļŦāđ‡āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļ­āļąāļ™āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ‚āļ­āļ‡āļ—āļĩāđˆāļĢāļąāļ™āļœāđˆāļēāļ™ Docker

āđ€āļ›āļīāļ”āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāđāļĨāđ‰āļ§āđ€āļ‚āđ‰āļē http://localhost:3001 āļ„āļļāļ“āļ„āļ§āļĢāļˆāļ°āđ€āļŦāđ‡āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļ­āļąāļ™āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ‚āļ­āļ‡āļ—āļĩāđˆāļĢāļąāļ™āļœāđˆāļēāļ™ Podman

āļ•āļĢāļ§āļˆāļŠāļ­āļš Container āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļĢāļąāļ™āļ­āļĒāļđāđˆāļœāđˆāļēāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāđ€āļ›āđ‡āļ™ GUI

āļšāļ™ Docker Desktop 

āļšāļ™ Podman Desktop 

āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļˆāļ°āđ€āļŦāđ‡āļ™āđ„āļ”āđ‰āļ§āđˆāļē Container āļ—āļĩāđˆāļ–āļđāļāļĢāļąāļ™āđƒāļ™ Docker āļˆāļ°āđ„āļĄāđˆāļĄāļēāđāļŠāļ”āļ‡āđƒāļ™ Podman āđāļĨāļ° Container āđƒāļ™ Podman āļāđ‡āđ€āļŠāđˆāļ™āļāļąāļ™

āļ•āļĢāļ§āļˆāļŠāļ­āļš Container āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļĢāļąāļ™āļ­āļĒāļđāđˆāļœāđˆāļēāļ™ CLI 

Docker āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡: docker ps āļŦāļĢāļ·āļ­ docker container ls 

Podman āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡: podman ps āļŦāļĢāļ·āļ­ podman container ls 

āļŦāļĒāļļāļ” Container

Docker āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡: docker stop<āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container>

āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ:

  • docker stop <āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container> āļŦāļĒāļļāļ”āđāļšāļšāļ™āļļāđˆāļĄāļ™āļ§āļĨ 
  • docker kill <āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container> āļšāļąāļ‡āļ„āļąāļšāļŦāļĒāļļāļ”

Podman āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡: podman stop<āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container>

āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ:

  •  podman stop <āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container>  āļŦāļĒāļļāļ”āđāļšāļšāļ™āļļāđˆāļĄāļ™āļ§āļĨ 
  •  podman kill <āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container> āļšāļąāļ‡āļ„āļąāļšāļŦāļĒāļļāļ”

āļĢāļēāļĒāļāļēāļĢ Container āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļĢāļ§āļĄāļ–āļķāļ‡āļ—āļĩāđˆāļŦāļĒāļļāļ”āļĢāļąāļ™āđ„āļ›āđāļĨāđ‰āļ§Â 

Docker āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡: docker ps -a āļŦāļĢāļ·āļ­Â  docker container ls -a 

Podman āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡: podman ps -a āļŦāļĢāļ·āļ­Â  podman container ls -a 

āļĨāļš Container 

Docker āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ docker rm <āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container>

Podman āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ podman rm <āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container>

āđ€āļĢāļĩāļĒāļāļ”āļđ image āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļ—āļąāđ‰āļ‡āļŦāļĄāļ” 

Docker āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ docker images

Podman āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ podman images

āļĨāļš Image āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ

Docker āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ docker rmi <āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container>

Podman āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ podman rmi <āļŠāļ·āđˆāļ­ Container āļŦāļĢāļ·āļ­ Id āļ‚āļ­āļ‡ Container>

āļˆāļēāļāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļ°āđ€āļŦāđ‡āļ™āđ„āļ”āđ‰āļ§āđˆāļē Docker āđāļĨāļ° Podman āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļˆāļąāļ”āļāļēāļĢāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļ„āļĨāđ‰āļēāļĒāļ„āļĨāļķāļ‡āļāļąāļ™āļĄāļēāļ āđāļĄāđ‰āļāļĢāļ°āļ—āļąāđˆāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļēāļ‡ āđ†Â  āđāļ•āđˆāļ‚āđ‰āļ­āđāļ•āļāļ•āđˆāļēāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļāļˆāļ°āļ­āļĒāļđāđˆāļ—āļĩāđˆÂ 

āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ‡āļēāļ™

  • Docker: āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ daemon āđāļĒāļāļ•āđˆāļēāļ‡āļŦāļēāļ
    Podman: āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ daemon

āđāļ•āđˆāļĄāļĩāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ™āļīāļ”āļŦāļ™āđˆāļ­āļĒ

  • Podman āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđƒāļŦāļĄāđˆāļāļ§āđˆāļē Docker āļĒāļąāļ‡āļ­āļĒāļđāđˆāđƒāļ™āļŠāđˆāļ§āļ‡āļžāļąāļ’āļ™āļē āļ„āļđāđˆāļĄāļ·āļ­āļ­āļēāļˆāļˆāļ°āļ™āđ‰āļ­āļĒāļāļ§āđˆāļē
  • Docker āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļ„āļ§āļēāļĄāļ™āļīāļĒāļĄ āļĄāļĩāļœāļđāđ‰āđƒāļŠāđ‰āļĄāļēāļāļāļ§āđˆāļē āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ•āđˆāļēāļ‡ āđ† āļāđ‡āļˆāļ°āđ€āļĒāļ­āļ°āļāļ§āđˆāļē

āļŠāļĢāļļāļ›āđ„āļ”āđ‰āļ§āđˆāļēāļŠāļģāļŦāļĢāļąāļšāđƒāļ„āļĢāļ—āļĩāđˆāļ„āļļāđ‰āļ™āļŠāļīāļ™āļāļąāļš Docker āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§ āļŠāļēāļĄāļēāļĢāļ–āđ‚āļĒāļāđ„āļ›āđƒāļŠāđ‰ Podman āļŦāļĢāļ·āļ­ āļŠāļĨāļąāļšāļĄāļēāđ„āļ›āļĄāļēāđƒāļ™āļāļēāļĢāđƒāļŠāđ‰ Docker āđ„āļ”āđ‰āđ‚āļ”āļĒāđāļ—āļšāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļ›āļĢāļąāļšāļ•āļąāļ§ āđāļ•āđˆāļ–āđ‰āļēāđƒāļ„āļĢāļĒāļąāļ‡āđ„āļĄāđˆāđ€āļ„āļĒāļ„āļļāđ‰āļ™āļŠāļīāļ™ āļœāļĄāđāļ™āļ°āļ™āļģāļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ”āļĩ āđ† āļāļąāļšāļ„āļ­āļĢāđŒāļŠāđ€āļĢāļĩāļĒāļ™ Docker & Container Technology āļˆāļēāļāļ—āļēāļ‡ BorntoDev āļ—āļĩāđˆāļˆāļ°āļ—āļģāđƒāļŦāđ‰āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™ Docker āđƒāļ™āļāļēāļĢ āļŠāļĢāđ‰āļēāļ‡, āļˆāļąāļ”āļāļēāļĢ, āđāļĨāļ°āļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āļ‡āļēāļ™ Container āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļąāđˆāļ™āđƒāļˆ

āļŠāļ™āđƒāļˆāļ­āđˆāļēāļ™āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāđ„āļ”āđ‰āļ—āļĩāđˆ

https://school.borntodev.com/course/docker-container-technology

Sirasit Boonklang

Author Sirasit Boonklang

More posts by Sirasit Boonklang
Close Menu

āđ€āļĢāļēāđƒāļŠāđ‰āļ„āļļāļāļāļĩāđ‰āđ€āļžāļ·āđˆāļ­āļžāļąāļ’āļ™āļēāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđāļĨāļ°āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļ—āļĩāđˆāļ”āļĩāđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒāļ‚āļ­āļ‡āļ„āļļāļ“ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļĻāļķāļāļĐāļēāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ„āļ”āđ‰āļ—āļĩāđˆ āļ™āđ‚āļĒāļšāļēāļĒāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§āđ€āļ­āļ‡āđ„āļ”āđ‰āļ‚āļ­āļ‡āļ„āļļāļ“āđ„āļ”āđ‰āđ€āļ­āļ‡āđ‚āļ”āļĒāļ„āļĨāļīāļāļ—āļĩāđˆ āļ•āļąāđ‰āļ‡āļ„āđˆāļē

āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§

āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ„āļļāļāļāļĩāđ‰āđ‚āļ”āļĒāđ€āļ›āļīāļ”/āļ›āļīāļ” āļ„āļļāļāļāļĩāđ‰āđƒāļ™āđāļ•āđˆāļĨāļ°āļ›āļĢāļ°āđ€āļ āļ—āđ„āļ”āđ‰āļ•āļēāļĄāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢ āļĒāļāđ€āļ§āđ‰āļ™ āļ„āļļāļāļāļĩāđ‰āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™

āļĒāļ­āļĄāļĢāļąāļšāļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āļˆāļąāļ”āļāļēāļĢāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§
  • āļ„āļļāļāļāļĩāđ‰āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™
    āđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™āļ•āļĨāļ­āļ”

    āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ„āļļāļāļāļĩāđ‰āļĄāļĩāļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ›āļāļ•āļī āđāļĨāļ°āđ€āļ‚āđ‰āļēāļŠāļĄāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āļ„āļļāļ“āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ›āļīāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļ„āļļāļāļāļĩāđ‰āļ™āļĩāđ‰āđƒāļ™āļĢāļ°āļšāļšāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒāļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ”āđ‰
    āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļļāļāļāļĩāđ‰

  • āļ„āļļāļāļāļĩāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļ—āļēāļ‡āļāļēāļĢāļ•āļĨāļēāļ”

    āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ„āļļāļāļāļĩāđ‰āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒ āđāļĨāļ° āļ™āļģāđ€āļŠāļ™āļ­āđ‚āļ›āļĢāđ‚āļĄāļŠāļąāļ™ āļŠāļīāļ™āļ„āđ‰āļē āļĢāļ§āļĄāļ–āļķāļ‡āļŦāļĨāļąāļāļŠāļđāļ•āļĢāļŸāļĢāļĩ āđāļĨāļ° āļŠāļīāļ—āļ˜āļīāļžāļīāđ€āļĻāļĐāļ•āđˆāļēāļ‡ āđ† āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļ›āļīāļ”āļ„āļļāļāļāļĩāđ‰āļ›āļĢāļ°āđ€āļ āļ—āļ™āļĩāđ‰āđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāđˆāļ‡āļœāļĨāļ•āđˆāļ­āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļŦāļĨāļąāļ āđ€āļ§āđ‰āļ™āđāļ•āđˆāļāļēāļĢāļ™āļģāđ€āļŠāļ™āļ­āđ‚āļ›āļĢāđ‚āļĄāļŠāļąāļ™āļ—āļĩāđˆāļ­āļēāļˆāđ„āļĄāđˆāļ•āļĢāļ‡āļāļąāļšāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢ
    āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļļāļāļāļĩāđ‰

āļšāļąāļ™āļ—āļķāļāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē