인프런 커뮤니티 질문&답변

Changsu Woo님의 프로필 이미지

작성한 질문수

개발자를 위한 쉬운 도커

localhost 접속질문 입니다.

24.09.12 12:38 작성

·

19

0

안녕하세요 좋은강의 만들어주셔서 감사합니다.

 

제가 섹션6. 컨테이너 애플리케이션 구성

부분을 따라하고 있습니다.

prstgreSQL , SpringBoot 백엔드 두개는 컨테이너 구성 및 접속이 잘됩니다.

postman 으로 백엔드에 데이터를 날려보니 잘 나옵니다.

 

하지만 꼭 프론트엔드 접속부분에서 항상

 

접속이 안됩니다.

frontend 컨테이너도 물론 잘실행 됩니다.

 

 

docker desktop 에서 프론트 로그를 보면

2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 3 (SIGQUIT) received, shutting down
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 7#7: gracefully shutting down
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 8#8: gracefully shutting down
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 10#10: gracefully shutting down
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 11#11: gracefully shutting down
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 7#7: exiting
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 11#11: exiting
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 8#8: exiting
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 13#13: gracefully shutting down
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 13#13: exiting
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 8#8: exit
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 12#12: gracefully shutting down
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 14#14: gracefully shutting down
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 13#13: exit
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 12#12: exiting
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 9#9: gracefully shutting down
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 9#9: exiting
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 12#12: exit
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 9#9: exit
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 10#10: exiting
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 10#10: exit
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 11#11: exit
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 14#14: exiting
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 14#14: exit
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 7#7: exit
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 17 (SIGCHLD) received from 10
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 10 exited with code 0
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 12 exited with code 0
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 29 (SIGIO) received
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 17 (SIGCHLD) received from 11
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 7 exited with code 0
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 9 exited with code 0
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 11 exited with code 0
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 29 (SIGIO) received
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 17 (SIGCHLD) received from 8
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 8 exited with code 0
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 29 (SIGIO) received
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 17 (SIGCHLD) received from 14
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 13 exited with code 0
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 14 exited with code 0
2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: exit
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: using the "epoll" event method
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: nginx/1.21.4
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: built by gcc 10.3.1 20210424 (Alpine 10.3.1_git20210424) 
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: OS: Linux 5.15.153.1-microsoft-standard-WSL2
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker processes
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 7
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 8
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 9
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 10
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 11
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 12
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 13
2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 14

이렇게 나오는데

접속 에러 로그도 안나오네요

 

제가 다른곳에서 80 포트를 사용중인가 싶었지만

그렇지도 않습니다.

혹시 제가더 살펴볼 다른곳이라도 있을까요?

답변 2

0

Changsu Woo님의 프로필 이미지
Changsu Woo
질문자

2024. 09. 12. 12:45

로그를 자세히보니

아무래도 80포트를 다른곳에서 사용중이 었던것 같습니다.

제대로 확인도 못하고 답변남겨서 죄송합니다.

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 12. 12:41

안녕하세요, 인프런 AI 인턴입니다.
Changsu Woo님, 질문해주신 내용을 확인하였습니다.

현상 요약

  • PostgreSQL과 SpringBoot 백엔드 컨테이너는 잘 구성되어 Postman으로 테스트 시 문제가 없는 것으로 보입니다.
  • 프론트엔드 컨테이너에서 http://localhost 접근 시 “It works!“라는 Nginx 페이지가 열리지만, http://localhost/login 접근 시 “Not Found” 오류가 발생하는 문제가 있습니다.
  • Docker Desktop 프론트엔드 로그를 확인해본 결과 별다른 에러 메시지는 나타나지 않았습니다.

유사한 질문 및 해결 방안

비슷한 문제를 다루는 질문과 답변을 몇 가지 찾아보았습니다. 문제 해결에 도움이 될 수 있는 정보를 아래에 정리해드리겠습니다.

  1. 컨테이너 내부와 외부의 포트 설정 확인
    도커를 사용한 웹 서비스의 포트 설정이 올바른지 확인해야 합니다. 도커 실행 시 -p 옵션을 사용하여 컨테이너의 포트를 호스트의 포트와 매핑해야 합니다. 아래 링크에서는 유사 사례에서 포트 설정 문제를 다루고 있습니다.

  2. Docker Compose 파일의 환경 변수 설정 확인
    .env 파일이나 Docker Compose 내에서 백엔드 서비스 URL을 올바르게 설정했는지 확인해야 합니다. 관련 내용은 아래 링크에서 확인할 수 있습니다.

  3. 백엔드 URL 확인 및 Nginx 설정
    현재 구성된 백엔드 URL이 올바르게 설정되었는지, 그리고 Nginx 컨테이너의 설정 파일이 올바르게 구성되었는지 확인해야 합니다. 아래 링크에서 유사한 문제를 다룹니다.

추가적인 문제 접근 방법

  1. Nginx 설정 파일 확인
    nginx.conf 파일에서 설정된 경로들이 올바른지, /login 경로로의 요청이 적절하게 처리되고 있는지 확인해보세요.

  2. 프론트엔드 컨테이너 내부 접속 확인
    프론트엔드 컨테이너 내부에서 curl이나 wget 명령어를 사용하여 curl localhost:login으로 접속해보시고, 해당 경로가 반환하는 응답을 확인하세요.

  3. 포트 충돌 문제 재확인
    netstat -tuln | grep 80 명령어를 사용하여 포트 80을 다른 서비스가 사용 중인지 다시 한 번 확인해주세요.

  4. 다른 브라우저나 인지 변경
    캐시 문제일 가능성도 배제할 수 없습니다. 다른 브라우저에서 시도하거나, 브라우저 캐시를 지운 후 다시 접속해보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 참고해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.