Skip to main content

Command Palette

Search for a command to run...

도커 대신 Podman 사용하기

Updated
2 min read

도커 데스크탑 대신 Podman을 쓰는 이유

도커 데스크탑 같은 경우 상업적인 목적으로 사용하려면 유료 버전을 구매해야합니다. 그래서 저는 도커 데스크탑 대신 Podman을 사용합니다.

Podman 설치

설치 도구가 잘 되아있어서 대부분의 경우 한 줄로 설치가 가능합니다.

우분투

sudo apt-get -y install podman

CentOS

sudo yum -y install podman

Alpine Linux

sudo apk add podman

mac OS

brew install podman

Podman 구성

처음엔 Podman 데스크탑을 사용했는데요, 버그가 있는 건지 커맨드라인에서 쓸 때 잘 안되더라구요. 그래서 Podman 데스크탑으로 생성한 machine을 지운 뒤 CLI를 이용해서 다시 초기화해주었습니다. 그러니까 잘 돌아가네요.

podman machine init

이게 끝입니다. 그런데 docker를 사용하려면 도커를 켜야하듯이 Podman도 사용하려면

podman machine start

을 해줘야합니다.

docker compose => podman compose

전 프로젝트별 개발 환경을 docker compose로 관리하는데요, docker와 docker compose는 서로 다른 프로젝트기 때문에 podman과 podman compose도 별개 프로젝트입니다. 별개 프로젝트이므로 별도로 설치해야합니다. 설치는 매우 간단합니다.

pip3 install podman-compose

호환성 이슈

아무래도 docker가 아니다보니 호환성 문제가 있습니다.

vscode devcontainer

별도 설정을 하지 않으면 vscode의 devcontainer가 안 돌아갑니다. 제가 podman이나 docker를 사용하는 목적이 devcontainer였어서 상당히 크리티컬한 이슈였는데요, 다행히도 해결 방법이 있었습니다.

vscode의 settings.json

{
  "remote.containers.dockerPath": "podman-devcontainer-wrapper"
}

을 추가하시고, devcontainer.json

{
  "remoteUser": "vscode",
  "containerUser": "vscode"
}

추가하신 뒤, podman-devcontainer-wrapper라는 실행 파일을

BUILDAH_FORMAT=docker \
PODMAN_USERNS=keep-id \
podman "$@"

이렇게 만들어주시면 됩니다.


Edit: https://twitter.com/ian_ilminMoon/status/1655094135681073154 를 반영해서 도커가 아닌 도커 데스크탑이 유료인 것으로 수정했습니다.

More from this blog

한국의 학벌에 대한 생각

내 블로그의 제목이 kdy1: The way I think 인만큼 앞으로는 내 생각을 더 자주 올리려고 한다. 한국 기준으로, 학벌은 사람을 볼 때 꽤나 유용한 지표이지만, 절대적이지는 않다. 경험적인 얘기일 뿐이지만, 성균관대학교 자퇴생으로서 느낀 것들이 몇 가지 있다. 대학까지 간 사람의 학벌은 학습 능력 x 성실함 에 대체로 비례한다. 그래서 의미가

Apr 3, 20261 min read

인간 지능에 대한 메모장

최종 업데이트: 2026/03/15 지능의 유전 현재 인류 기준으로, 고지능자는 고지능 유전자가 많이 겹친 사람이다. 지능의 유전엔 X 염색체가 매우 중요한 역할을 한다. 그리고 이게 남자와 여자의 지능 분포 차이를 만든다. 극상위권에 여자가 거의 없는 이유가 이것이다. 고지능 X 염색체가 여자한테서 발현되려면 2개가 있어야 한다. 이는 인간의 생

Mar 15, 20262 min read

Ai 코딩 팁 2 (한국어)

발표 자료: https://gamma.app/docs/AI--2a52e7tk3eb1ch1 AI 활용법 관련해서 간단하게 발표를 했다. 발표 자료 앞쪽은 전에 블로그에 올린 글이랑 같은 내용이다. 이 글에서는 기존 글에서 다루지 않은 내용들을 다루겠다. 에러 메시지 및 로깅 구체적 타입 및 스키마 활용 any 타입은 사람에게도 위험하지만, AI에게는 더 위험하다. 마찬가지로, JSON.parse처럼 아무 제약 없는 파싱 느슨한 인터페이스 ...

Jan 30, 20265 min read

kdy1: The way I think

233 posts