⚙️ Podman 환경 설정¶
학습 안내
Podman 환경에서 스토리지 경로(graphroot), 로그 정책, 그리고 네트워크 대역 설정을 Docker와 호환되도록 구성하는 방법을 학습합니다.
Podman 설치 후, 시스템 최적화 및 사내 폐쇄망 환경에 맞춘 설정을 진행합니다.
1. 엔진 최적화 설정¶
Podman은 단일 설정 파일(daemon.json)을 사용하는 Docker와 달리, 스토리지와 컨테이너 설정이 분리되어 있습니다.
제공된 설정값을 Podman 환경에 맞게 적용하려면 다음 단계를 수행합니다.
1.1 스토리지 설정 (data-root)¶
컨테이너 이미지와 데이터가 저장될 경로를 설정합니다.
수정 내용:
1.2 컨테이너 및 로그 설정¶
로그 드라이버와 기본 네트워크 할당 IP 풀을 설정합니다.
수정 내용:
[network]
default_subnet = "182.18.0.0/16"
default_subnet_pools = [
{"base" = "182.19.0.0/16", "size" = 24}
]
[engine]
[engine.log]
driver = "json-file"
[engine.log.opts]
max_size = "100m"
max_file = "5"
[containers]
label = false
2. 주요 설정 항목 요약¶
| 항목 | 설정값 | 설명 |
|---|---|---|
driver (storage.conf) |
overlay |
스토리지 드라이버 방식 (가장 권장되는 overlay 타입) |
graphroot (storage.conf) |
/mdrm/data |
컨테이너 데이터가 저장될 경로 (Docker의 data-root 대응) |
default_subnet (containers.conf) |
182.18.0.0/16 |
기본 브릿지 네트워크의 IP 대역 (Docker의 bip 대응) |
| engine.log.driver | json-file |
컨테이너 로그 저장 방식 (Docker 호환성 확보) |
| engine.log.opts | max_size=100m |
로그 파일 당 최대 용량 및 보관 개수 설정 |
label (containers.conf) |
false |
SELinux 라벨링 기능 비활성화 (권한 호환성 확보) |
3. Podman Compose 사용 가이드¶
MDRM의 컨테이너를 실행할 때는 podman-compose를 사용합니다. 이는 docker-compose.yml 문법을 Podman 환경에 맞게 변환하여 실행해줍니다.
Podman 관리 팁
- Podman은 별도의 데몬이 없으므로 시스템 리소스를 적게 소모합니다.
rootless모드로 실행할 경우 보안상으로 더 안전합니다.