Buildah의 노출된 포트가 작동하는 방식

Buildah의 노출된 포트가 작동하는 방식

Windows 8.1 OS, vmware 워크스테이션이 설치되어 있고 rhel8 서버를 게스트 OS로 실행하고 있습니다. rhel8 서버에서는 아래와 같이 기존 Tomcat 컨테이너에서 이미지를 구축하고 있습니다.

[root@rhelser8 ~]# buildah from docker.io/library/tomcat
Getting image source signatures
...
Writing manifest to image destination
Storing signatures
tomcat-working-container

문서에 표시된 위의 단계를 통해 "tomcat-working-container"를 얻었고 아래와 같이 실행하려고 합니다.

[root@rhelser8 ~]# buildah run tomcat-working-container catalina.sh run

따라서 Tomcat 컨테이너를 시작하고 아래와 같이 rhelser8 호스트의 다른 터미널에서 액세스할 수 있습니다.

[root@rhelser8 ~]# curl http://localhost:8080/
[root@rhelser8 ~]# curl http://IP_address:8080/

하지만 Windows 호스트에서 두 번째 URL에 액세스하면 Tomcat 기본 페이지에 액세스할 수 없습니다.

하지만 podman을 사용하여 컨테이너 이미지를 실행하면

[root@rhelser8 ~]# podman run -it -d -p 8888:8080 container_image

내 Windows 호스트와 URL인 rhel8 호스트에서 두 번째 URL에 액세스할 수 있습니다.http://IP 주소:8080/

내가 이해하려고 하는 것은 buildah를 사용할 때 rhel8 호스트의 호스트팁을 사용하여 페이지에 액세스할 수 있지만 Windows 호스트에서는 액세스할 수 없다는 것입니다.

그러나 podman을 사용하고 -pi를 사용하여 포트를 게시하면 Windows 호스트뿐만 아니라 rhel8 호스트에서도 페이지에 액세스할 수 있습니다.

이 행동을 이해해야 합니다.

관련 정보