12.7. Podman을 사용하여 컨테이너 및 Pod 자동 실행
생성된 YAML 파일을 Kubernetes 또는 OpenShift 환경으로 전송하기 전에 podman play kube 명령을 사용하여 로컬 시스템에서 Pod 및 컨테이너 생성을 테스트할 수 있습니다.
podman play kube 명령은 docker compose 명령과 유사하게 YAML 파일을 사용하여 Pod에 여러 컨테이너가 있는 여러 Pod를 자동으로 빌드하고 실행할 수 있습니다. 다음 조건이 충족되면 이미지가 자동으로 빌드됩니다.
- YAML 파일에 사용된 이미지와 동일한 이름의 디렉터리가 있습니다.
- 해당 디렉터리에는 Containerfile이 포함되어 있습니다.
사전 요구 사항
-
container-toolsmeta-package가 설치되어 있습니다. -
Cryostat
pod라는 포드가 생성되었습니다. 자세한 내용은 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
프로세스
Cryostat
.yaml 파일을 사용하여 Cryostat Pod를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman play kube명령:-
docker.io/ Cryostat/mariadb 이미지를 기반으로이미지를 자동으로 빌드합니다.localhost/mariadb-conf:latest -
docker.io/ Cryostat/wordpress:latest이미지를 가져옵니다. -
Cryostatpod
-mydb 및 Cryostatpod-myweb 이라는 두 개의 컨테이너가 있는 Cryostatpod라는 포드를 만듭니다.
-
모든 컨테이너 및 Pod를 나열합니다.
podman ps --pod -a
$ 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
검증
포드가 실행 중인지 확인합니다. http://localhost:8080/wp-admin/install.php 페이지를 방문하거나
curl명령을 사용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow