12.7. Podman을 사용하여 컨테이너 및 Pod 자동 실행


생성된 YAML 파일을 Kubernetes 또는 OpenShift 환경으로 전송하기 전에 podman play kube 명령을 사용하여 로컬 시스템에서 Pod 및 컨테이너 생성을 테스트할 수 있습니다.

podman play kube 명령은 docker compose 명령과 유사하게 YAML 파일을 사용하여 Pod에 여러 컨테이너가 있는 여러 Pod를 자동으로 빌드하고 실행할 수 있습니다. 다음 조건이 충족되면 이미지가 자동으로 빌드됩니다.

  1. YAML 파일에 사용된 이미지와 동일한 이름의 디렉터리가 있습니다.
  2. 해당 디렉터리에는 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
    Copy to Clipboard Toggle word wrap

프로세스

  1. Cryostat .yaml 파일을 사용하여 Cryostat Pod를 생성합니다.

    $ podman play kube wordpress.yaml
    STEP 1/2: FROM docker.io/library/mariadb
    STEP 2/2: COPY my.cnf /etc/mysql/my.cnf
    COMMIT localhost/mariadb-conf:latest
    --> 428832c45d0
    Successfully tagged localhost/mariadb-conf:latest
    428832c45d07d78bb9cb34e0296a7dc205026c2fe4d636c54912c3d6bab7f399
    Trying to pull docker.io/library/wordpress:latest...
    Getting image source signatures
    Copying blob 99c3c1c4d556 done
    ...
    Storing signatures
    Pod:
    3e391d091d190756e655219a34de55583eed3ef59470aadd214c1fc48cae92ac
    Containers:
    6c59ebe968467d7fdb961c74a175c88cb5257fed7fb3d375c002899ea855ae1f
    29717878452ff56299531f79832723d3a620a403f4a996090ea987233df0bc3d
    Copy to Clipboard Toggle word wrap

    podman play kube 명령:

    • docker.io/ Cryostat/mariadb 이미지를 기반으로 localhost/mariadb-conf:latest 이미지를 자동으로 빌드합니다.
    • docker.io/ Cryostat/wordpress:latest 이미지를 가져옵니다.
    • Cryostatpod -mydb 및 Cryostat pod -my web 이라는 두 개의 컨테이너가 있는 Cryostatpod 라는 포드를 만듭니다.
  2. 모든 컨테이너 및 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
    Copy to Clipboard Toggle word wrap

검증

  • 포드가 실행 중인지 확인합니다. http://localhost:8080/wp-admin/install.php 페이지를 방문하거나 curl 명령을 사용합니다.

    $ curl http://localhost:8080/wp-admin/install.php
    <!DOCTYPE html>
    <html xml:lang="en-US">
    <head>
    ...
    </head>
    <body class="wp-core-ui">
    <p id="logo">WordPress</p>
        <h1>Welcome</h1>
    ...
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat