Podman : Pod を作成する2025/01/21 |
Kubernetes でおなじみの Pod も Podman で作成可能です。 |
|
[1] | Pod を作成してコンテナーを追加します。 |
# 空の pod を新規作成 # -p [バインドするポート] -n [pod の名前] [root@dlp ~]# podman pod create -p 8081:80 -n test-pod e182edf4b8bca9b8c1bda8ce4134cea9be8afbb21ab23e67709866b60d666542 # 確認 [root@dlp ~]# podman pod ls POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS e182edf4b8bc test-pod Created 11 seconds ago ea6dcc14233e 1 # pod の詳細を表示 [root@dlp ~]# podman pod inspect test-pod [ { "Id": "e182edf4b8bca9b8c1bda8ce4134cea9be8afbb21ab23e67709866b60d666542", "Name": "test-pod", "Created": "2025-01-21T16:39:54.964545699+09:00", "CreateCommand": [ "podman", "pod", "create", "-p", "8081:80", "-n", "test-pod" ], "ExitPolicy": "continue", "State": "Created", "Hostname": "", "CreateCgroup": true, "CgroupParent": "machine.slice", "CgroupPath": "machine.slice/machine-libpod_pod_e182edf4b8bca9b8c1bda8ce4134cea9be8afbb21ab23e67709866b60d666542.slice", "CreateInfra": true, "InfraContainerID": "ea6dcc14233ef7bbdc510d60d98bbb185ec744da6994073145e25d0f30328517", "InfraConfig": { "PortBindings": { "80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8081" } ] }, "HostNetwork": false, "StaticIP": "", "StaticMAC": "", "NoManageResolvConf": false, "DNSServer": null, "DNSSearch": null, "DNSOption": null, "NoManageHosts": false, "HostAdd": null, "Networks": [ "podman" ], "NetworkOptions": null, "pid_ns": "private", "userns": "host", "uts_ns": "private" }, "SharedNamespaces": [ "ipc", "net", "uts" ], "NumContainers": 1, "Containers": [ { "Id": "ea6dcc14233ef7bbdc510d60d98bbb185ec744da6994073145e25d0f30328517", "Name": "e182edf4b8bc-infra", "State": "created" } ], "LockNumber": 12 } ][root@dlp ~]# podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/podman-pause 5.3.1-1733097600 d6ffe53ab076 55 seconds ago 701 kB srv.world/centos-nginx latest 451cd94e6c28 17 minutes ago 347 MB docker.io/library/root-web latest 3f60fa99e10d 20 minutes ago 347 MB srv.world/iproute latest dfa2b401b86c 3 hours ago 346 MB srv.world/centos-httpd latest ff3843182253 8 hours ago 354 MB quay.io/centos/centos stream10 1ef274445e32 7 days ago 311 MB docker.io/moby/buildkit buildx-stable-1 a72f628fa83e 5 weeks ago 207 MB docker.io/library/mariadb latest 6722945a6940 2 months ago 412 MB docker.io/library/registry latest 282bd1664cf1 15 months ago 26 MB # コンテナーを起動して pod に追加する [root@dlp ~]# podman run -dt --pod test-pod srv.world/centos-nginx 611bd0debc382e0773907c756eda5c5a73095514fa3519f823f6758ce53925a8[root@dlp ~]# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ea6dcc14233e localhost/podman-pause:5.3.1-1733097600 About a minute ago Up 10 seconds 0.0.0.0:8081->80/tcp e182edf4b8bc-infra 611bd0debc38 srv.world/centos-nginx:latest /usr/sbin/nginx -... 9 seconds ago Up 9 seconds 0.0.0.0:8081->80/tcp condescending_jones # アクセス確認 [root@dlp ~]# curl localhost:8081 Podman Test on Nginx # pod を停止する [root@dlp ~]# podman pod stop test-pod test-pod # pod を削除する (コンテナーも含めて強制削除) [root@dlp ~]# podman pod rm test-pod --force e182edf4b8bca9b8c1bda8ce4134cea9be8afbb21ab23e67709866b60d666542 |
[2] | Pod の作成とコンテナーの追加を同時に実行することもできます。 |
[root@dlp ~]# podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/podman-pause 5.3.1-1733097600 d6ffe53ab076 2 minutes ago 701 kB srv.world/centos-nginx latest 451cd94e6c28 19 minutes ago 347 MB docker.io/library/root-web latest 3f60fa99e10d 22 minutes ago 347 MB srv.world/iproute latest dfa2b401b86c 3 hours ago 346 MB srv.world/centos-httpd latest ff3843182253 8 hours ago 354 MB quay.io/centos/centos stream10 1ef274445e32 7 days ago 311 MB docker.io/moby/buildkit buildx-stable-1 a72f628fa83e 5 weeks ago 207 MB docker.io/library/mariadb latest 6722945a6940 2 months ago 412 MB docker.io/library/registry latest 282bd1664cf1 15 months ago 26 MB # [test-pod2] を新規作成して [srv.world/centos-nginx] コンテナーを追加する [root@dlp ~]# podman run -dt --pod new:test-pod2 -p 80:80 -p 3306:3306 srv.world/centos-nginx 70319ec8ae93089bb6881765988e740bb56d5a08c8c8fb55d6795edc7424847d[root@dlp ~]# podman pod ls POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS b7a20f26f29a test-pod2 Running 10 seconds ago 2318a71cbee7 2[root@dlp ~]# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2318a71cbee7 localhost/podman-pause:5.3.1-1733097600 23 seconds ago Up 23 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp b7a20f26f29a-infra 70319ec8ae93 srv.world/centos-nginx:latest /usr/sbin/nginx -... 23 seconds ago Up 23 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp busy_cartwright # [mariadb] コンテナーを起動して [test-pod2] に追加する [root@dlp ~]# podman run -dt --pod test-pod2 -e MYSQL_ROOT_PASSWORD=Password mariadb 82f5f78f6dab9894317cd7399f814318df7e5cb49055642c10172b8575fb1800[root@dlp ~]# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2318a71cbee7 localhost/podman-pause:5.3.1-1733097600 About a minute ago Up About a minute 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp b7a20f26f29a-infra 70319ec8ae93 srv.world/centos-nginx:latest /usr/sbin/nginx -... About a minute ago Up About a minute 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp busy_cartwright 82f5f78f6dab docker.io/library/mariadb:latest mariadbd 9 seconds ago Up 9 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp determined_hoover
[root@dlp ~]#
[root@dlp ~]# curl dlp.srv.world Dockerfile Test on Nginx mysql -u root -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+-----------+ | Variable_name | Value | +---------------+-----------+ | hostname | test-pod2 | +---------------+-----------+ |
Sponsored Link |
|