해결된 질문
작성
·
407
·
수정됨
0
먼저 각 폴더의 경로입니다.
해당 코드는 몽고디비 경로입니다.
야믈파일에서의 코드입니다.
docker-compose up 을 하고 데이터를 전송 했을 때의 에러입니다.
(바디 안에 phone의 값은 스크린샷으로 인해 지운 부분입니다.)
docker-compse를 하지 않은 상태에서의 데이터 전송 메세지입니다.
도커화 시키기 전에 바로 내 컴퓨터에서는 잘 전송이 되어지는데 docker-compose했을 때에 에러가 발생을 합니다.
위에는 docker-compose up명령어를 작동 시켰을때 나오는 메세지들인데 해당 건에서는 에러메세지라고 보일 만한 것들을 찾지 못하였습니다.
처음에는 몽고디비 경로를 잘못 설정 한 것 같아서 강의를 다시 보고 야믈파일에서 써주었던 database경로로 네임 리졸류션 하여 설정을 해주었는데 에러가 발생을 하여 질문을 남깁니다. ㅠ-ㅠ
혹시 제가 놓친 부분이나 잘못된 부분이 있다면 가르쳐주신다면 감사드립니다 ㅠㅠ
에러를 해결해보기 위해 도전해본 방법은 3가지 였습니다.
몽고디비 주소를 127.0.0.1:27017 에서 database:27017로 변경 후 도커빌드 -업
기존에 실행되고 있던 몽고디비를 중지한 후 도커 컴포즈업 실행
도커 이미지 모두 삭제한 후 다시 빌드 업 실행
해결 방법을 아신다면 답변 부탁드립니다. 감사합니다.
답변 1
0
안녕하세요! aegis0918님!
먼저, 질문을 정말 상세히 달아주셔서 이해하기 좋았어요!
docker-compose로 실행하신 경우, 각 도커들간의 연결은 네임리졸루션으로 연결되기 때문에,
위 시도하신 방법 중 1번과 2번을 잘 하신 것 같아요!
먼저, 이렇게 복잡한 경우에 해결하는 방법은 문제를 세분화 하는 방법이에요!
1. 도커 문제인지, env 문제인지 확인을 위해 env 부분을 사용하지 않고, 하드코딩 방식으로 변경
2. 위 1번에서 실패하면? 도커 문제
위 1번에서 성공하면? env 문제
3. 만약 env 문제라면, docker-compose.yaml 파일에서, env_file: 이라는 설정을 추가해 보세요!