11.7. Pod 内の 2 つのコンテナー間での通信

同じ Pod 内のコンテナーはすべて、IP アドレス、MAC アドレス、およびポートマッピングを共有します。同じ Pod 内のコンテナー間では、localhost:port の表記で通信が可能です。

前提条件

  • container-tools メタパッケージがインストールされている。

手順

  1. web-pod という名前の Pod を作成します。

    $ podman pod create --name=web-pod
  2. web-container という名前の Web コンテナーを Pod で実行します。

    $ podman container run -d --pod web-pod --name=web-container docker.io/library/httpd
  3. 関連付けられている全 Pod およびコンテナーをリスト表示します。

    $ podman ps --pod
    
    CONTAINER ID  IMAGE                           COMMAND           CREATED        STATUS            PORTS       NAMES               POD ID        PODNAME
    58653cf0cf09  k8s.gcr.io/pause:3.5                              4 minutes ago  Up 3 minutes ago              4e61a300c194-infra  4e61a300c194  web-pod
    b3f4255afdb3  docker.io/library/httpd:latest  httpd-foreground  3 minutes ago  Up 3 minutes ago              web-container  4e61a300c194  web-pod
  4. docker.io/library/fedora イメージを元に、web-pod でコンテナーを実行します。

    $ podman container run -it --rm --pod web-pod docker.io/library/fedora curl localhost
    
    <html><body><h1>It works!</h1></body></html>

    コンテナーが web-container に到達できることがわかります。