Fedora 43

Podman : Pod を作成する2025/11/12

 

Kubernetes でおなじみの Pod も Podman で作成可能です。

[1] Pod を作成してコンテナーを追加します。
# 空の pod を新規作成
# -p [バインドするポート] -n [pod の名前]

[root@dlp ~]#
podman pod create -p 8081:80 -n test-pod

7c9a783e9ee274e423ddb9083ac624909c4cbbc6c3eceb0d6b0b59f58ca13ff7

# 確認

[root@dlp ~]#
podman pod ls

POD ID        NAME        STATUS      CREATED         INFRA ID      # OF CONTAINERS
7c9a783e9ee2  test-pod    Created     12 seconds ago  065c093626a2  1

# pod の詳細を表示

[root@dlp ~]#
podman pod inspect test-pod

[
     {
          "Id": "7c9a783e9ee274e423ddb9083ac624909c4cbbc6c3eceb0d6b0b59f58ca13ff7",
          "Name": "test-pod",
          "Created": "2025-11-12T09:40:55.050521405+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_7c9a783e9ee274e423ddb9083ac624909c4cbbc6c3eceb0d6b0b59f58ca13ff7.slice",
          "CreateInfra": true,
          "InfraContainerID": "065c093626a2898aac48c1ab98672535c35332ca83acff82b14a05536490c5f6",
          "InfraConfig": {
               "PortBindings": {
                    "80/tcp": [
                         {
                              "HostIp": "0.0.0.0",
                              "HostPort": "8081"
                         }
                    ]
               },
               "HostNetwork": false,
               "StaticIP": "",
               "StaticMAC": "",
               "NoManageResolvConf": false,
               "DNSServer": null,
               "DNSSearch": null,
               "DNSOption": null,
               "NoManageHostname": false,
               "NoManageHosts": false,
               "HostAdd": null,
               "HostsFile": "",
               "Networks": [
                    "podman"
               ],
               "NetworkOptions": null,
               "pid_ns": "private",
               "userns": "host",
               "uts_ns": "private"
          },
          "SharedNamespaces": [
               "uts",
               "ipc",
               "net"
          ],
          "NumContainers": 1,
          "Containers": [
               {
                    "Id": "065c093626a2898aac48c1ab98672535c35332ca83acff82b14a05536490c5f6",
                    "Name": "7c9a783e9ee2-infra",
                    "State": "created"
               }
          ],
          "LockNumber": 9
     }
]

[root@dlp ~]#
podman images

REPOSITORY                         TAG         IMAGE ID      CREATED         SIZE
srv.world/iproute                  latest      126eb1cb6c14  6 minutes ago   279 MB
docker.io/library/root-web         latest      fdd007dce795  13 minutes ago  346 MB
srv.world/fedora-nginx             latest      78a532c42789  43 minutes ago  346 MB
srv.world/fedora-httpd             latest      9681aa9061c7  50 minutes ago  349 MB
docker.io/library/mariadb          latest      7418b34b3691  30 hours ago    335 MB
registry.fedoraproject.org/fedora  latest      a9005aba99b1  2 days ago      186 MB

# コンテナーを起動して pod に追加する

[root@dlp ~]#
podman run -dt --pod test-pod srv.world/fedora-nginx

e36a612d224cbcb324672419de6b66e4de86ad5c7867443c908526529e9e5151

[root@dlp ~]#
podman ps

CONTAINER ID  IMAGE                          COMMAND               CREATED             STATUS         PORTS                 NAMES
065c093626a2                                                       About a minute ago  Up 15 seconds  0.0.0.0:8081->80/tcp  7c9a783e9ee2-infra
e36a612d224c  srv.world/fedora-nginx:latest  /usr/sbin/nginx -...  15 seconds ago      Up 15 seconds  0.0.0.0:8081->80/tcp  thirsty_roentgen

# アクセス確認

[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

7c9a783e9ee274e423ddb9083ac624909c4cbbc6c3eceb0d6b0b59f58ca13ff7
[2] Pod の作成とコンテナーの追加を同時に実行することもできます。
[root@dlp ~]#
podman images

REPOSITORY                         TAG         IMAGE ID      CREATED         SIZE
srv.world/iproute                  latest      126eb1cb6c14  7 minutes ago   279 MB
docker.io/library/root-web         latest      fdd007dce795  15 minutes ago  346 MB
srv.world/fedora-nginx             latest      78a532c42789  45 minutes ago  346 MB
srv.world/fedora-httpd             latest      9681aa9061c7  52 minutes ago  349 MB
docker.io/library/mariadb          latest      7418b34b3691  30 hours ago    335 MB
registry.fedoraproject.org/fedora  latest      a9005aba99b1  2 days ago      186 MB

# [test-pod2] を新規作成して [srv.world/fedora-nginx] コンテナーを追加する

[root@dlp ~]#
podman run -dt --pod new:test-pod2 -p 80:80 -p 3306:3306 srv.world/fedora-nginx

4497d0dd2ccd77dcba80b8fcf4aa35c7956768ec5bfb059344cb8837c136234c

[root@dlp ~]#
podman pod ls

POD ID        NAME        STATUS      CREATED         INFRA ID      # OF CONTAINERS
042eee2a4d8f  test-pod2   Running     15 seconds ago  84192e83ad40  2

[root@dlp ~]#
podman ps

CONTAINER ID  IMAGE                          COMMAND               CREATED         STATUS         PORTS                                       NAMES
84192e83ad40                                                       32 seconds ago  Up 32 seconds  0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp  042eee2a4d8f-infra
4497d0dd2ccd  srv.world/fedora-nginx:latest  /usr/sbin/nginx -...  32 seconds ago  Up 32 seconds  0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp  sharp_chatterjee

# [mariadb] コンテナーを起動して [test-pod2] に追加する

[root@dlp ~]#
podman run -dt --pod test-pod2 -e MYSQL_ROOT_PASSWORD=Password docker.io/library/mariadb

db368b7c23d35ea38679321f6b845b08d65c718cdeca182ed6555a615d5e99af

[root@dlp ~]#
podman ps

CONTAINER ID  IMAGE                             COMMAND               CREATED             STATUS             PORTS                                       NAMES
84192e83ad40                                                          About a minute ago  Up About a minute  0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp  042eee2a4d8f-infra
4497d0dd2ccd  srv.world/fedora-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  sharp_chatterjee
db368b7c23d3  docker.io/library/mariadb:latest  mariadbd              14 seconds ago      Up 15 seconds      0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp  hopeful_noyce

[root@dlp ~]#
curl dlp.srv.world

Dockerfile Test on Nginx
[root@dlp ~]#
mariadb -u root -p -h dlp.srv.world -e "show variables like 'hostname';"

Enter password:
+---------------+-----------+
| Variable_name | Value     |
+---------------+-----------+
| hostname      | test-pod2 |
+---------------+-----------+
関連コンテンツ