작성
·
659
·
수정됨
0
처음 SSH를 기동할 때 2번째 방법인 DOOD 방법으로 기동하였습니다.
docker run -itd --name docker-server -p 10022:22 -p 8081:8080 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /var/run/docker.sock:/var/run/docker.sock edowon0623/docker:latest /usr/sbin/init
코드를 보시면 아시다싶히 -p 10022:22 마운팅과
추가로 -p 8081:8080 마운팅을 추가하였습니다.
이후 Jenkins로 빌드를 진행하였고 아래와 같이 빌드가 정상적으로 처리가 되는것이 확인이 됩니다.
하지만 localhost:8081/hello-world로 접속하면 접속이 안되고 localhost:8080/hello-world로 접속해야만 접속이 가능해집니다.
당연히 제대로 된다면 둘 다 접근이 가능해지겠죠?
근데 톰캣 포트로만 접근이되버려서...
제가 처음 ssh를 기동할때 분명 8080포트를 8081로 마운팅을 했는데 왜 8081포트로 접속이 안되는건지 원인과 해결 부탁드립니다.
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
8081 포트로 접속이 안되는 문제에 대해서 원인과 해결 방법을 알려드릴게요.
먼저, Docker 컨테이너를 실행할 때 호스트와 컨테이너 사이의 포트 매핑을 설정하였고, 8081 포트를 8080 포트에 매핑하였다고 이해했습니다. 그런데 로컬에서 localhost:8081로 접속해도 접근이 안된다는 이야기로 보아, 몇 가지 가능한 원인과 해결 방법을 제시해드릴게요.
포트 충돌 확인: 로컬에서 이미 8081 포트를 사용하고 있는 프로그램이 실행 중인지 확인해보세요. 다른 프로그램이 8081 포트를 점유하고 있다면, Docker 컨테이너의 8081 포트와 충돌하여 접속이 안될 수 있어요. 충돌하는 프로세스를 중지하거나 다른 포트로 매핑해보세요.
방화벽 확인: 방화벽이 8081 포트로의 접속을 차단하고 있는지 확인해보세요. 방화벽 설정을 확인하고, 필요하다면 포트를 열어주는 작업을 해보세요.
Docker 컨테이너 설정 확인: Docker 컨테이너 설정 파일 또는 Dockerfile 에서 8081 포트로의 연결을 확인해보세요. 제대로 설정되어 있는지, 적용되어 있는지 확인해야 합니다.
Jenkins 설정 확인: Jenkins를 통해 빌드를 진행하셨다고 말씀하셨는데, Jenkins 설정에서 8081 포트로의 접속을 설정해야 합니다. Jenkins의 설정 파일을 확인하거나, Jenkins의 관리 페이지에서 해당 포트를 지정해주는 설정을 확인해보세요.
이러한 방법들을 차례대로 확인해보시고 원인을 찾아 문제를 해결해보세요. 문제가 여전히 해결되지 않는다면 구체적인 정보를 더 알려주시면 더 도움을 드릴 수 있을 것 같아요. 좋은 결과가 있기를 바라요.