Docker와 Podman은 컨테이너를 관리하는 도구이지만, 몇 가지 중요한 차이점이 있습니다.

🔹 1. 아키텍처 차이

비교 항목DockerPodman
Daemon (데몬) dockerd라는 데몬이 동작하여 컨테이너를 관리 데몬 없이 작동 (daemonless)
Rootless 지원 기본적으로 root 권한이 필요 기본적으로 rootless 모드 지원
CLI 구조 단일 바이너리 (docker CLI) podman CLI 및 buildah(빌드 전용) CLI 사용
  • Docker는 dockerd라는 백그라운드에서 실행되는 데몬을 통해 컨테이너를 관리함.
  • Podman은 데몬이 없고, 사용자가 실행하는 명령이 곧 컨테이너 실행이 됨.

🔹 2. 보안 (Rootless 모드)

  • Docker는 기본적으로 root 권한을 필요로 하며, rootless 모드는 추가 설정이 필요함.
  • Podman은 기본적으로 rootless 모드를 지원하여 보안성이 높음.
    • 예를 들어, podman run을 실행하면 사용자 권한으로 실행됨..

🔹 3. 명령어 호환성

Podman은 Docker와 CLI 명령어가 거의 동일해서 alias docker=podman처럼 설정하면 Docker처럼 사용할 수 있음.

sh
복사편집
# Docker와 동일한 명령어 사용 가능 podman run -d -p 8080:80 nginx

그러나 Docker Compose는 Podman에서 기본적으로 지원되지 않음 → podman-compose라는 별도 패키지가 필요함.

🔹 4. 이미지 및 레지스트리

  • DockerPodman 모두 동일한 컨테이너 이미지를 사용할 수 있음.
  • Podman은 Docker Hub뿐만 아니라 Red Hat의 Quay, OCI 표준 이미지 저장소를 활용할 수 있음.

🔹 5. 시스템 서비스 및 컨테이너 관리

  • Docker는 docker-compose, docker swarm 등을 활용하여 여러 컨테이너를 쉽게 관리 가능.
  • Podman은 podman generate systemd를 사용하여 systemd 서비스로 컨테이너를 관리할 수 있음.

🔹 6. 사용 사례 추천

사용 목적DockerPodman
개발 환경에서 컨테이너 실행
보안이 중요한 환경 (Rootless 필요)
시스템 서비스(systemd) 기반 관리
Docker Compose 활용 ❌ (podman-compose 필요)
Red Hat 기반 시스템 (RHEL, Fedora)

결론:

  • 개발/배포 환경에서는 Docker가 여전히 강력한 선택지.
  • 보안성이 중요한 엔터프라이즈 환경에서는 Podman이 유리.
  • **Red Hat 기반 시스템(Fedora, RHEL)**에서는 Podman이 기본 제공됨.

'Cloud' 카테고리의 다른 글

Zoomoney 프로젝트 Prometheus 와 Grafana 연동  (0) 2025.04.23
Jenkins  (0) 2025.04.22
Podman 으로 Zoomoney 프로젝트 배포하기  (0) 2025.03.22
Skopeo  (0) 2025.01.21
Dev-Ops  (0) 2025.01.20

+ Recent posts