24.04.03 Spring - Mongo, Quartz 회고
발단
- MongoDB 접속 불가 사건 발생
- 도큐먼트가 없어서 발생함
- 도큐먼트 생성후 계정 권한 부여
- 하지만 여전히 안됨… 이유가 뭘까
- 구동환경은 도커 컴포즈로 mongodb실행 도커 서비스로 spring실행
- 같은 도커로 구동했지만 도커네트워크로 설정해두지 않았었음
- 만약 컴포즈로 구동했다면 컨테이너 명으로 접근이 가능했을것
- 결론은 서로 같은 네트워크로 묶어주고 있지 않아서 서로 접근이 안됬음
- 그렇다면 자기자신의 ip로 요청을 해서 외부 포트와 컨테이너 포트가 포트포워딩 으로 전달하는 방법을 시도함
- URI 접속 → host, port 등의 접속 방식으로 변경
- 해결 완료
- Quartz 인스턴스 실행 불가 에러
- 쿼츠가 갑자기 호스트 네임을 가져올수 없다는 에러 발생
- 이유는 도커 컨테이너에서 호스트 네임을 가져올수 없었던거 였음
- 도커 컨테이너는 호스트 네임을 찾을수 없다..?
- 찾아보니 도커 컨테이너 내부에 etc/hosts 에 존재함
- 좀더 원초적인 문제는 몽고디비와 같이 자신의 아이피로 직접 콜을 하면서 도커 컨테이너 내부의 호스트 네임을 찾지 못한걸로 생각됨
- 스프링과 mysql은 서로 다른 컨테이너에서 구동되고 있음
- 하지만 굳이 호스트 네임을 찾는건 중요하지 않음
- 결국 Generated InstanceId = Auto 에서 Name을 부여하는것으로 변경
- 해결 완료