English

podman — 컨테이너 런타임

Linux / 서비스 및 프로세스 관리 / podman.html

서비스 및 프로세스 관리원문등록 2026-10-18T22:00:00+09:00

💬 "podman 명령어"

podman는 컨테이너 런타임 Docker 명령어 호환 컨테이너 런타임입니다. 루트리스 실행이 기본이며 데몬이 없습니다.

Docker CLI와 명령어 호환입니다 (docker→podman 별칭 가능). 루트리스 모드가 기본이며 데몬 없이 동작합니다.

  • 개념: Docker CLI와 명령어 호환입니다 (docker→podman 별칭 가능).
  • 주요 기능: 루트리스 모드가 기본이며 데몬 없이 동작합니다.
  • 장점: Pod 단위 멀티 컨테이너 관리를 지원합니다.
  • 활용: systemd 서비스로 컨테이너 관리가 가능합니다.

설치 및 다운로드

podman는 패키지 매니저 또는 공식 스크립트로 설치합니다.

환경명령
Ubuntu 24.04+sudo apt install podman
RHEL / Fedorasudo dnf install podman
Archsudo pacman -S podman
macOS (brew)brew install podman
확인podman --version

설치 확인은 podman --version으로 합니다.

자주 쓰는 옵션

옵션설명
podman run <img>컨테이너를 실행합니다 (docker run 동일)
podman ps실행 중 컨테이너 목록
podman images로컬 이미지 목록
podman pod createPod를 생성합니다
podman system migrate루트리스↔루트 전환 시 마이그레이션

필수 명령어 조합 3가지

  • podman run -d -p 8080:80 nginx — 웹 서버 컨테이너 실행
  • alias docker=podman — Docker 호환 별칭
  • podman generate systemd --new --name myapp — systemd 서비스 생성

💬 "실제 서버에서 podman를 사용하는 예시를 보여줘"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 설치 확인

설치 여부를 확인합니다.

podman --version || sudo apt install -y podman

2단계 · 컨테이너 실행

nginx를 백그라운드로 실행합니다.

podman run -d -d -p 8080:80 --name web nginx

3단계 · 상태 확인

실행 중 컨테이너를 확인합니다.

podman ps

실제 실행 화면

podman으로 nginx 컨테이너를 실행한 결과입니다.

podman 명령어 실행 결과

실제 운영 중인 서버

실무에서는 이렇게 씁니다

1. 컨테이너 실행

상황 — nginx 컨테이너를 실행합니다.

podman run -d -p 8080:80 --name web nginx:latest

결과 — 8080 포트로 nginx가 실행됩니다.

포인트 — Docker run과 동일한 문법입니다.

2. systemd 등록

상황 — 컨테이너를 systemd로 관리합니다.

podman generate systemd --new --name web > web.service
systemctl --user enable --now web.service

결과 — 재부팅 후에도 컨테이너가 자동 시작됩니다.

포인트 — 컨테이너 수명주기를 OS 수준으로 통합합니다.

실제 실행 화면

podman generate systemd으로 서비스를 생성한 결과입니다.

podman 명령어 실행 결과 2

실제 운영 중인 서버

주의할 점

  • 루트리스 podman은 포트 1024 미만 바인딩에 sysctl net.ipv4.ip_unprivileged_port_start 설정이 필요할 수 있습니다.
  • Docker Compose와 완전 호환은 아닙니다. 일부 서비스가 다르게 동작할 수 있습니다.
  • 루트에서 만든 컨테이너와 루트리스 컨테이너의 이미지 저장소가 다릅니다. 전환 시 podman system migrate 필요합니다.