12.7. Podman을 사용하여 컨테이너 및 Pod 자동 실행
생성된 YAML 파일을 Kubernetes 또는 OpenShift 환경으로 전송하기 전에 podman play kube
명령을 사용하여 로컬 시스템에서 Pod 및 컨테이너 생성을 테스트할 수 있습니다.
podman play kube
명령은 docker compose 명령과 유사하게 YAML 파일을 사용하여 Pod에 여러 컨테이너가 있는 여러 Pod를 자동으로 빌드하고 실행할 수 있습니다. 다음 조건이 충족되면 이미지가 자동으로 빌드됩니다.
- YAML 파일에 사용된 이미지와 동일한 이름의 디렉터리가 있습니다.
- 해당 디렉터리에는 Containerfile이 포함되어 있습니다.
사전 요구 사항
-
container-tools
meta-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/mysql
Copy 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 및 Cryostat
pod
-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 wordpresspod
Copy 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