14.7. Podman을 사용하여 컨테이너 및 Pod 자동 실행
podman play kube 명령을 사용하여 생성된 YAML 파일을 Kubernetes 또는 OpenShift 환경으로 전송하기 전에 로컬 시스템에서 Pod 및 컨테이너 생성을 테스트할 수 있습니다.
podman play kube 명령은 docker compose 명령과 유사하게 YAML 파일을 사용하여 Pod의 여러 컨테이너로 여러 Pod를 자동으로 빌드하고 실행할 수도 있습니다. 다음 조건이 충족되면 이미지가 자동으로 빌드됩니다.
- YAML 파일에 사용된 이미지와 이름이 동일한 디렉터리가 있습니다.
- 이 디렉터리에는 컨테이너 파일이 포함되어 있습니다.
사전 요구 사항
-
container-toolsmeta-package가 설치되어 있습니다. -
wordpresspod라는 포드가 생성되었습니다. 자세한 내용은 Podman을 사용하여 수동으로 실행 중인 컨테이너 및 Pod 섹션을 참조하십시오. - YAML 파일이 생성되었습니다. 자세한 내용은 Podman을 사용하여 YAML 파일 생성 섹션을 참조하십시오.
처음부터 전체 시나리오를 반복하려면 로컬에 저장된 이미지를 삭제합니다.
podman rmi localhost/mariadb-conf podman rmi docker.io/library/wordpress podman rmi docker.io/library/mysql
$ podman rmi localhost/mariadb-conf $ podman rmi docker.io/library/wordpress $ podman rmi docker.io/library/mysqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
절차
wordpress.yaml파일을 사용하여 wordpress 포드를 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman play kube명령은 다음과 같습니다.-
docker.io이미지를 자동으로 빌드합니다./library/ResourceOverride 이미지를 기반으로 localhost/systemd-conf:latest -
docker.io/library/wordpress:latest이미지를 가져옵니다. -
wordpresspod-mydb및이라는 두 개의 컨테이너가 있는 wordpresspod라는 포드를 만듭니다.wordpresspod-myweb
-
모든 컨테이너 및 Pod를 나열합니다.
podman ps --pod -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME a1dbf7b5606c k8s.gcr.io/pause:3.5 3 minutes ago Up 2 minutes ago 0.0.0.0:8080->80/tcp 3e391d091d19-infra 3e391d091d19 wordpresspod 6c59ebe96846 localhost/mariadb-conf:latest mariadbd 2 minutes ago Exited (1) 2 minutes ago 0.0.0.0:8080->80/tcp wordpresspod-mydb 3e391d091d19 wordpresspod 29717878452f docker.io/library/wordpress:latest apache2-foregroun... 2 minutes ago Up 2 minutes ago 0.0.0.0:8080->80/tcp wordpresspod-myweb 3e391d091d19 wordpresspod
$ podman ps --pod -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME a1dbf7b5606c k8s.gcr.io/pause:3.5 3 minutes ago Up 2 minutes ago 0.0.0.0:8080->80/tcp 3e391d091d19-infra 3e391d091d19 wordpresspod 6c59ebe96846 localhost/mariadb-conf:latest mariadbd 2 minutes ago Exited (1) 2 minutes ago 0.0.0.0:8080->80/tcp wordpresspod-mydb 3e391d091d19 wordpresspod 29717878452f docker.io/library/wordpress:latest apache2-foregroun... 2 minutes ago Up 2 minutes ago 0.0.0.0:8080->80/tcp wordpresspod-myweb 3e391d091d19 wordpresspodCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Pod가 실행 중인지 확인합니다. http://localhost:8080/wp-admin/install.php 페이지를 방문하거나
curl명령을 사용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow