Podman

Podman은 리눅스 시스템에서 컨테이너를 개발, 관리, 실행하기 위한 오픈소스 도구입니다. Docker와 유사한 기능과 명령어 구조를 제공하지만, 몇 가지 중요한 차별점을 가지고 있으며, 특히 보안성과 유연성 면에서 주목받고 있는 컨테이너 엔진입니다.

Podman의 주요 특징

  1. 데몬리스(Daemonless) 아키텍처
    • Podman은 Docker와 달리 데몬(백그라운드 프로세스)이 필요하지 않습니다.
    • 각 컨테이너는 독립적으로 실행되며, 데몬에 의존하지 않기 때문에 데몬 장애로 인해 모든 컨테이너가 멈추는 문제가 발생하지 않습니다138.
  2. 루트리스(Rootless) 실행
    • Podman은 루트 권한 없이 일반 사용자 계정으로도 컨테이너를 실행할 수 있습니다.
    • 이는 보안성을 강화하며, 컨테이너가 호스트 시스템에 미치는 영향을 최소화합니다123.
  3. Docker와의 명령어 호환성
    • Podman은 Docker CLI(Command Line Interface)와 호환됩니다.
    • 예를 들어, docker run 명령어를 podman run으로 대체해 사용할 수 있습니다. 이를 통해 Docker에서 Podman으로 전환이 용이합니다137.
  4. Pod 개념 지원
    • Podman은 Kubernetes의 "Pod" 개념을 도입하여 여러 컨테이너를 하나의 논리적 그룹으로 묶어 관리할 수 있습니다. 이는 Kubernetes 환경과의 통합을 용이하게 합니다317.
  5. 모듈형 설계
    • Podman은 Buildah, Skopeo 등과 같은 별도의 도구와 통합하여 이미지를 빌드하거나 관리합니다.
    • 이 모듈형 접근 방식은 Docker의 모놀리식(monolithic) 아키텍처와 대조적입니다212.

Podman과 Docker의 주요 차이점

특징PodmanDocker
아키텍처 데몬리스(daemonless) 데몬 기반(daemon-based)
권한 요구 루트리스(rootless) 지원 루트 권한 필요
명령어 호환성 Docker CLI와 호환 자체 CLI 사용
이미지 빌드 Buildah와 같은 외부 도구 사용 자체 이미지 빌드 기능 포함
보안성 더 높은 보안성 제공 루트 권한으로 인한 보안 취약 가능성
 

Podman 설치 및 사용

  1. 설치
    • Ubuntu:
       
      bash
      sudo apt install podman
    • RHEL/CentOS:
       
      bash
      sudo yum install podman
  2. 컨테이너 실행
     
    bash
    podman run hello-world
     
  3. Docker 명령어 대체
    • Alias 설정:
       
      bash
      alias docker='podman'
  4. Pod 생성 및 관리
     
    bash
    podman pod create --name mypod podman run --pod mypod nginx

Podman의 장점

  • 데몬 없이 작동하므로 더 안정적이고 가벼운 환경 제공.
  • 루트 권한 없이 실행 가능해 보안성이 높음.
  • Kubernetes와의 높은 호환성.
  • Docker CLI와 호환되어 기존 워크플로우를 쉽게 전환 가능.

Podman은 특히 보안과 유연성이 중요한 환경에서 Docker의 강력한 대안으로 자리 잡고 있으며, 개발 및 운영 환경 모두에서 점차 널리 사용되고 있습니다.

Citations:

  1. https://blog.retrotv.dev/what-is-podman-and-install/
  2. https://chopstick-91.tistory.com/136
  3. https://letitkang.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-podman-%EC%9D%B4%EB%9E%80
  4. https://svrforum.com/svr/902128
  5. https://www.openmaru.io/podman-compose%EB%9E%80/
  6. https://apidog.com/kr/blog/docker-vs-podman-2/
  7. https://www.redhat.com/ko/topics/containers/what-is-podman
  8. https://blog.naver.com/dsz08082/222422391028
  9. https://www.redhat.com/ko/topics/containers/what-is-podman-desktop
  10. https://yooloo.tistory.com/44
  11. https://velog.io/@mirrorkyh/%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-podman
  12. https://www.openmaru.io/podman-compose-vs-docker-compose-%EC%B0%A8%EC%9D%B4%EC%A0%90/
  13. https://developer-trainee-j.tistory.com/23
  14. https://velog.io/@juunini/Docker-Podman-Containerd-CRI-O-%EC%9D%B4%EA%B2%8C-%EB%8B%A4-%EB%AD%90%EC%8B%A0%EA%B0%80
  15. https://blog.naver.com/isc0304/222385370570
  16. https://news.hada.io/topic?id=12855
  17. https://wing-beat.tistory.com/122
  18. https://xoals6536.tistory.com/entry/podman-vs-docker-%EA%B0%84%EB%8B%A8%ED%95%9C-%EB%B9%84%EA%B5%90%EC%99%80-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

'클라우드 > K-PaaS' 카테고리의 다른 글

Redis  (0) 2025.04.14
registries.conf  (0) 2025.04.14
Kubectl  (0) 2025.04.14
Minikube  (0) 2025.04.14
K-Pass 실습환경  (1) 2025.04.14