--- title: podman — 컨테이너 런타임 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: Docker 명령어 호환 컨테이너 런타임입니다. 루트리스 실행이 기본이며 데몬이 없습니다. tags: 프로그램, 서비스 및 프로세스 관리, podman --- **💬 "podman 명령어"** podman는 **컨테이너 런타임** Docker 명령어 호환 컨테이너 런타임입니다. 루트리스 실행이 기본이며 데몬이 없습니다. Docker CLI와 명령어 호환입니다 (docker→podman 별칭 가능). 루트리스 모드가 기본이며 데몬 없이 동작합니다. - **개념**: Docker CLI와 명령어 호환입니다 (docker→podman 별칭 가능). - **주요 기능**: 루트리스 모드가 기본이며 데몬 없이 동작합니다. - **장점**: Pod 단위 멀티 컨테이너 관리를 지원합니다. - **활용**: systemd 서비스로 컨테이너 관리가 가능합니다. ## 설치 및 다운로드 podman는 패키지 매니저 또는 공식 스크립트로 설치합니다. | 환경 | 명령 | | --- | --- | | Ubuntu 24.04+ | sudo apt install podman | | RHEL / Fedora | sudo dnf install podman | | Arch | sudo pacman -S podman | | macOS (brew) | brew install podman | | 확인 | podman --version | 설치 확인은 `podman --version`으로 합니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | podman run | 컨테이너를 실행합니다 (docker run 동일) | | podman ps | 실행 중 컨테이너 목록 | | podman images | 로컬 이미지 목록 | | podman pod create | Pod를 생성합니다 | | 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 명령어 실행 결과](https://games.cursorai.co.kr/assets/podman-demo.png) 실제 운영 중인 서버 ## 실무에서는 이렇게 씁니다 ### 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](https://games.cursorai.co.kr/assets/podman-demo2.png) 실제 운영 중인 서버 ## 주의할 점 - 루트리스 podman은 포트 1024 미만 바인딩에 sysctl net.ipv4.ip_unprivileged_port_start 설정이 필요할 수 있습니다. - Docker Compose와 완전 호환은 아닙니다. 일부 서비스가 다르게 동작할 수 있습니다. - 루트에서 만든 컨테이너와 루트리스 컨테이너의 이미지 저장소가 다릅니다. 전환 시 podman system migrate 필요합니다. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/services/podman.html