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

A+Plus님의 프로필 이미지

작성한 질문수

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]

예제와 함께 익히는 docker compose 주요 명령2

실행 오류 [답변 부탁드리겠습니다.]

작성

·

416

0

안녕하세요.
본 강의에서 해주신 코드 double check, 인바운드 규칙 확인 및 모든 방법을 다 써봤는데도 마지막 public ip접속시 'succes'라는 문구가 뜨지 않는데요.

컨테이너를 전부 삭제해보고 인스턴스도 재부팅해봤는데도 원하는 결과가 출력되지 않습니다.

어떤점에서 error가 났다는 log기록도 없는데 혹시 제가 놓친 부분이 무엇인지 알 수 있을지 조언해주시면 감사드리겠습니다.

혹시 몰라서 전체 log 화면 첨부드립니다.

감사합니다.

 

 

답변 1

1

안녕하세요. 답변 도우미입니다.

우선 첨부해주신 로그에는 정상 동작하는 메세지만 보여서, 어떤 부분이 잘못되었는지는 로그를 통해서는 확인은 어려운 것 같습니다. Public IP 로 접속하는데 있어서는 AWS 의 서버 설정부터 시작해서, 굉장히 다양한 부분이 모두 맞아야 할 것 같은데요. 첨부해드린 코드가 마지막 코드를 의미하시는 것이죠? 해당 코드는 제가 제 사이트 구축에서도 사용하고 있는 것이라서, 정상 동작하는 코드예요. 당연히 각자의 설정은 다른 것이니까요. 이 분을 보시면 좋을 것 같은데요. 어떤 부분일지 몰라서, 애매하긴 한데요. 다음과 같은 점들을 하나씩 확인해보시면 도움이 되실 것 같아요. 이러한 것이 안되신다면, 아예 AWS 상에 새로 EC2 서버를 만드시고, ubuntu 22가 아닌 20 대 버전을 써보시면서, 하나씩 새로 해보시는 것도 좋을 수 있습니다. 이 부분도 한번 고려해보시면 좋을 것 같습니다.

  1. Security Group 설정: 인바운드 규칙에서 해당 포트 (예: 80, 8080 등)이 열려 있는지 확인하십시오. 필요한 경우, 0.0.0.0/0 (모든 IP)로 열려 있는지 확인하십시오. 그리고 아웃바운드 규칙도 확인하십시오.

  2. Docker 컨테이너 포트 설정: Docker 컨테이너를 실행할 때, 호스트와 컨테이너의 포트를 올바르게 바인딩하고 있는지 확인하십시오. 예를 들어, -p 80:80 이 올바르게 설정되어 있는지 확인하십시오.

  3. 애플리케이션 내부 설정: 애플리케이션 내부에서 사용하는 포트 번호와 IP 주소를 확인하십시오. 예를 들어, 웹 애플리케이션이 0.0.0.0 (모든 IP)로 바인딩되어 있어야 외부에서 접근이 가능합니다.

  4. 방화벽 설정: AWS 인스턴스의 OS에서 방화벽이 설정되어 있는지 확인하십시오. 필요하다면, 해당 포트를 열어 주십시오.

  5. AWS 인스턴스 상태: 인스턴스가 올바르게 작동 중인지 확인하십시오. 이를 위해 AWS Management Console에서 인스턴스 상태를 확인하거나 SSH를 사용하여 인스턴스에 접속해보십시오.

  6. Docker 컨테이너 로그: Docker 컨테이너 로그를 확인하십시오. docker logs <container_id> 명령을 사용하여 로그를 확인할 수 있습니다. 이를 통해 컨테이너 내부에서 발생하는 문제를 찾을 수 있습니다.

  7. Docker 컨테이너 상태: docker ps 명령을 사용하여 실행 중인 컨테이너가 올바르게 작동 중인지 확인하십시오. 만약 컨테이너가 바로 종료되는 경우, 문제가 발생한 것입니다.

감사합니다.

A+Plus님의 프로필 이미지
A+Plus
질문자

안녕하세요. 친절하고 정성스런 답변 진심으로 감사드립니다. 말씀해주신부분 살펴보면서 다시 한번 실행해보겠습니다. 감사합니다!

A+Plus님의 프로필 이미지

작성한 질문수

질문하기