Kubernetes가 Docker를 사용하지 않으려고 계속 노력하는 중이다.
그 이유에는 여러 가지가 있지만 kubernetes 설치 시 docker 설치가 필요 없어졌고, image 개발 시에도 굳이 docker를 사용하지 않아도 되었다.
결정적으로 linux의 일정버전 이상부터는 docker가 아닌 podman을 사용을 권장하는만큼 어떤 차이가 있는지 확인해 보았다.
- Daemon less
- podman 은 container를 실행하기 위한 데몬이 필요없지만, docker 는 container 를 관리하기 위해 백그라운드에서 데몬 프로세스를 실행해야 한다.
- Rootless
- podman 은 container 를 일반 user로 실행할 수 있고, docker는 container 실행을 하기 위해 root 권한이 필요하다.
- Image format
- podman 은 OCI (Open Container Initiative) image format을 사용하고, docker 는 자체 docker image format 을 사용한다.
- Networking
- Docker는 user-defined networks 및 overlay networks를 생성하는 기능에서 podman 보다 발전된 모델을 가지고 있다.
- Command line interface
- podman 은 docker의 명령어 그대로 사용이 가능하지만 docker에서는 지원하지 않는 기능이 추가되어 있고 몇몇 플래그가 다를 수 있다.
[결론]
podman은 docker 보다 보안적인 측면으로는 우수하다.
따라서 (Rootless), docker 가 제공하는 모든 기능을 사용하지 않는다면 podman 사용이 좋아보인다.
반응형
'Kubernetes > Utils (tools)' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 대시보드 OpenLens 설치 (k8s dashboard openlens install) (2) | 2023.03.01 |
---|---|
[kubernetes] k8s Helm 설치 (0) | 2023.01.03 |