9.7. 포트 매핑을 사용하여 컨테이너 간 통신
두 컨테이너 간에 통신하는 가장 편리한 방법은 게시된 포트를 사용하는 것입니다. 포트는 두 가지 방법으로 자동으로 또는 수동으로 게시할 수 있습니다.
사전 요구 사항
-
container-tools
meta-package가 설치되어 있습니다.
프로세스
게시되지 않은 컨테이너를 실행합니다.
podman run -dt --name=web1 ubi10/httpd-24
# podman run -dt --name=web1 ubi10/httpd-24
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자동으로 게시된 컨테이너를 실행합니다.
podman run -dt --name=web2 -P ubi10/httpd-24
# podman run -dt --name=web2 -P ubi10/httpd-24
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 수동으로 게시된 컨테이너를 실행하고 컨테이너 포트 8080을 게시합니다.
podman run -dt --name=web3 -p 8888:8080 ubi10/httpd-24
# podman run -dt --name=web3 -p 8888:8080 ubi10/httpd-24
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 컨테이너를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음을 볼 수 있습니다.
-
컨테이너
web1
에는 게시된 포트가 없으며 컨테이너 네트워크 또는 브리지에서만 연결할 수 있습니다. 컨테이너
web2
는 각각 애플리케이션 포트 8080 및 8443을 게시하기 위해 각각 43595 및 42423 포트를 자동으로 매핑했습니다.참고Containerfile 의
registry.access.redhat.com/10/httpd-24
이미지에EXPOSE 8080
및EXPOSE 8443
명령이 있기 때문에 자동 포트 매핑이 가능합니다.-
컨테이너
web3
에는 수동으로 게시된 포트가 있습니다. 호스트 포트 8888은 컨테이너 포트 8080에 매핑됩니다.
-
컨테이너
web1
및web3
컨테이너의 IP 주소를 표시합니다.podman inspect --format='{{.NetworkSettings.IPAddress}}' web1 podman inspect --format='{{.NetworkSettings.IPAddress}}' web3
# podman inspect --format='{{.NetworkSettings.IPAddress}}' web1 # podman inspect --format='{{.NetworkSettings.IPAddress}}' web3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <IP>:<port> 표기법을 사용하여
web1
컨테이너에 연결합니다.curl 10.88.0.2:8080
# curl 10.88.0.2:8080 ... <title>Test Page for the HTTP Server on Red Hat Enterprise Linux</title> ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow localhost:<port> 표기법을 사용하여
web2
컨테이너에 연결합니다.curl localhost:43595
# curl localhost:43595 ... <title>Test Page for the HTTP Server on Red Hat Enterprise Linux</title> ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <IP>:<port> 표기법을 사용하여
web3
컨테이너에 연결합니다.curl 10.88.0.4:8080
# curl 10.88.0.4:8080 ... <title>Test Page for the HTTP Server on Red Hat Enterprise Linux</title> ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow