• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

최종실습 2번 관련 질문 드립니다.

21.09.14 23:05 작성 조회수 142

1

안녕하세요! 우선 좋은 강의 제공해주셔서 정말 감사드리고, 답변에도 미리 감사드립니다!

최종실습 2번 - 방명록 배포하기의 docker-compose 예제파일에 대해 궁금한 것이 생겨 질문드립니다.

 

1. 실행순서에 mongodb - backend - frontend순으로 실행하도록 되어있는데, 예제 compose파일은 역순(frontend-backend-mongodb)으로 기재되어 있는 것을 확인했습니다.

제가 작성한 compose 파일은 mongodb - backend - frontend순으로 작성하였고, 정상적으로 실행이 되었는데, compose파일에 작성하는 순서는 실행 순서에 영향을 끼치지 않는 것인지 궁금합니다! 만약 실행 순서에 영향을 주는 옵션이 있다면 무엇인지 궁금합니다.

 

2. 실습 내용에서 62000포트로 서버를 오픈하는 것으로 되어 있는데 제공해주신 파일에서는 frontend의 ports가 "8888:8000"으로 되어있었습니다. 62000포트로 오픈하려면 "62000:8000"과 같이 진행해야 할 것 같은데, 파일의 오타인지 아니면 의도하신것인지 궁금합니다.

 

다시한번 정말 감사드리며 환절기 건강 조심하시기 바랍니다 :)

답변 1

답변을 작성해보세요.

1

안녕하세요! 문의하신내용 답변 드립니다.

1. compose에서 순서는 큰 영향이 없습니다.

여러개의 컨테이너를 관리할때 중요한 점은, 순서와 상관없이 실행되어도 정상적으로 동작하게 하는 것입니다. (이 부분이 실제 환경에서 꽤 까다로운 부분입니다.)

가장 쉬운 방법은 의존성이 필요한 부분이 없으면 잠시 후에 여러번 다시 시도하여 최종적으로는 문제 없도록 하는 것입니다.

예를 들어, 애플리케이션은 보통 데이터베이스 접속이 필요한데, 데이터베이스가 아직 실행전이라면 애플리케이션이 오류가 날 수 있습니다. 이럴 때 여러번 다시 시도하다보면 결국 데이터베이스가 정상적으로 실행되고 애플리케이션도 정상 실행됩니다.

2. 8888 부분

말씀해주신데로 62000이 맞습니다. 첨부파일도 수정하였습니다. 감사합니다 👏

또 궁금한점 있으면 문의주세요~!