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 호스트에서도 페이지에 액세스할 수 있습니다.
이 행동을 이해해야 합니다.