반응형
Podman과 Docker는 컨테이너화된 애플리케이션을 관리하기 위한 도구로서 유사한 목적을 가지고 있지만 몇 가지 중요한 차이가 있습니다.
아래의 글을 통해서 그 차이에 대해서 설명해보겠습니다.
참조 : https://www.lambdatest.com/blog/podman-vs-docker/, https://www.lesstif.com/container/podman-98926748.html
1. Docker 와 Podman 의 아키텍처 및 아키텍처 독립성
[Docker]

- Docker는 클라이언트-서버 아키텍처를 사용합니다.
- Docker CLI (Command Line Interface)는 Docker daemon 통신하여 컨테이너를 생성하고 관리합니다.
- Docker daemon은 이미지 빌드, 저장소 관리, 컨테이너 실행과 같은 작업을 수행합니다.
- docker daemon 이 모든 컨테이너와 이미지를 관리하다 보니 도커 데몬이 죽거나 재시작하면 모든 컨테이너가 중지되는 문제가 있습니다.
[Podman]

- daemon-less, Podman은 데몬이나 서버 없이 동작하는 명령줄 도구입니다.
- 각 Podman 컨테이너는 독립적으로 실행되며, Podman CLI를 통해 직접 제어됩니다. 이는 Podman이 더욱 경량이고 아키텍처에 독립적이라는 것을 의미합니다.
- Podman은 사용자 네임스페이스를 활용하여 보안을 강화하고, 루트 권한이 필요하지 않습니다.
2. Docker 와 Podman 의 루트 권한 요구
[Docker]
- Docker daemon 에 권한이 집중되다보니 아무나 Docker CLI 로 도커 데몬을 제어하지 못하도록 root 사용자만 Docker CLI 를 사용하도록 했습니다.
- root 권한이 필요하기 때문에 오히려 보안에 더 취약합니다.
[Podman]
- Podman은 루트 권한 없이 사용할 수 있습니다. 각 컨테이너는 사용자의 네임스페이스에서 동작하며 루트 권한이 필요하지 않습니다.
- 일반 사용자로 실행하여 담당자별 권한을 분리할 수 있기 때문에 시스템 운영자와 서비스/컨테이너 운영자로 분리하여 보안 측면에서 더 뛰어납니다.
3. Docker 와 Podman 의 이미지 관리
[Docker]
- Docker 이미지는 Docker Hub 등의 중앙 저장소에 저장되며, 이미지 관리는 Docker 데몬에 의해 수행됩니다.
[Podman]
- Podman은 이미지를 로컬 파일 시스템에 직접 저장하므로 외부 데몬이나 서버 없이도 이미지를 관리할 수 있습니다.
4. Docker 와 Podman 의 컨테이너 실행 환경
[Docker]
- Docker는 시스템에 서비스로서 영향을 미칠 수 있습니다.
- Docker는 기본적으로 사용자 네임스페이스를 사용하지 않습니다.
[Podman]
- Podman은 시스템에 미치는 영향을 최소화하고, 루트 권한이 필요하지 않기 때문에 특히 호스트 시스템에 민감한 환경에서 유용합니다.
- Podman은 각 컨테이너가 독립적인 사용자 네임스페이스에서 실행되도록 설계되어 보안을 강화합니다.
반응형
'공부 > Docker' 카테고리의 다른 글
| [Docker] Error response from daemon 에러 발생 (0) | 2025.02.01 |
|---|---|
| [Docker] Docker image 삭제하는 방법 (0) | 2025.02.01 |
| [Docker] Docker 컨테이너 강제로 kill 시키는 방법 (0) | 2025.02.01 |
| [Docker] Docker image 목록 조회하기 (0) | 2025.02.01 |
| [Docker] VS Code 와 docker 연동하기 (1) | 2025.02.01 |