11.9. 在 pod 中的两个容器间通信
同一 pod 中的所有容器共享 IP 地址、MAC 地址和端口映射。您可以使用 localhost:port 表示法在同一 pod 中的容器之间进行通信。
先决条件
-
container-tools
元数据包已安装。
流程
创建名为
web-pod
的 pod:$ podman pod create --name=web-pod
在 pod 中运行名为
web-container
的 web 容器:$ podman container run -d --pod web-pod --name=web-container docker.io/library/httpd
列出与其关联的所有 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
根据 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
。