도커를 잘 몰라서 질문드립니다. 6:47 volumes를 설정하는 부분이 이해가 잘 되지 않습니다. volumes: - .:/usr/src/app - /usr/src/app/node_modules 위와 같이 볼륨을 설정하셨는데 .:/usr/src/app 를 하게되면 nestjs-app 컨테이너에서 로컬에서 작성한 소스코드들에 바로 접근을 할 수 있는데 왜 Dockerfile에서 COPY . . 를 통해서 소스코드들을 따로 복사해주는지 이유가 궁금합니다. 더불어 볼륨을 설정할때는 호스트경로:컨테이너경로 형태로 콜론으로 구분해서 볼륨을 작성하는것으로 알고있는데 콜론없이 - /usr/src/app/node_modules 와 같이 볼륨을 설정했을때는 어떤식으로 작동이 되는건지 궁금합니다.(node_modules는 연동이 안되도록 하는것이라고 말씀하셨는데 위와 같이 설정할 경우 해당 경로는 예외처리가 되는것일까요??)
안녕하세요! Dockerfile에서 copy를 하게되면 빌드타임에 소스코드를 복사 할 수 있습니다. 반대로 volume은 런타임 입니다. 저희가 수정하는 코드가 도커 빌드 후에 반영이 되도록 하려면 둘을 동시에 사용 할 수 밖에 없습니다. /usr/src/app/node_modules의 경우 이해하신대로 콜론 후 매핑이 돼야하지만 없을경우 매핑이 되지 않습니다. 즉, 로컬 머신과 컨테이너 내부의 node_modules 디펜던시를 공유하지 않게 됩니다. 가상환경 차이로인한 다른 디펜던시가 필요한 경우가 있는데 공유하게 될 경우 문제가 많이 생깁니다. 같은 이유로 퍼포먼스 문제도 많이 생기게 됩니다. 감사합니다!
npm i @nestjs/mapped-types 이게 설치 안되어있다고 에러납니다. 그런데 이상하게도 npm i @nestjs/mapped-types 을 하면 찾을수 없다고 나오네요;; - 수정했습니다>> 기존 pnpm 이 설치된 이후에 npm 으로 @nestjs/mapped-types을 추가하려 했더니 추가가 안됬고, node_modules를 삭제 한 다음에 npm i 해서 node_modules를 추가하고, npm i @nestjs/mapped-types 했더니 잘 되네요.
내용이 너무 좋네요. 감사합니다.
개 깔끔하누
도커를 잘 몰라서 질문드립니다.
6:47 volumes를 설정하는 부분이 이해가 잘 되지 않습니다.
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
위와 같이 볼륨을 설정하셨는데 .:/usr/src/app 를 하게되면 nestjs-app 컨테이너에서 로컬에서 작성한 소스코드들에 바로 접근을 할 수 있는데 왜 Dockerfile에서 COPY . . 를 통해서 소스코드들을 따로 복사해주는지 이유가 궁금합니다.
더불어 볼륨을 설정할때는 호스트경로:컨테이너경로 형태로 콜론으로 구분해서 볼륨을 작성하는것으로 알고있는데 콜론없이 - /usr/src/app/node_modules 와 같이 볼륨을 설정했을때는 어떤식으로 작동이 되는건지 궁금합니다.(node_modules는 연동이 안되도록 하는것이라고 말씀하셨는데 위와 같이 설정할 경우 해당 경로는 예외처리가 되는것일까요??)
안녕하세요!
Dockerfile에서 copy를 하게되면 빌드타임에 소스코드를 복사 할 수 있습니다. 반대로 volume은 런타임 입니다. 저희가 수정하는 코드가 도커 빌드 후에 반영이 되도록 하려면 둘을 동시에 사용 할 수 밖에 없습니다.
/usr/src/app/node_modules의 경우 이해하신대로 콜론 후 매핑이 돼야하지만 없을경우 매핑이 되지 않습니다. 즉, 로컬 머신과 컨테이너 내부의 node_modules 디펜던시를 공유하지 않게 됩니다. 가상환경 차이로인한 다른 디펜던시가 필요한 경우가 있는데 공유하게 될 경우 문제가 많이 생깁니다. 같은 이유로 퍼포먼스 문제도 많이 생기게 됩니다. 감사합니다!
@@codefactory_official 친절한 답변 감사드립니다!!
좋은 콘텐츠~
관심있던 분야였는데 정말 쉽게 설명 잘 해주셔서 재밌게 봤습니다
저는 spring jpa를 하고있어서 더 재밌게봤는데요, typeorm과 상당히 유사한 부분이 있던데 n+1도 동일하게 발생할것 같아서 이 부분은 어떻게 해결하는지 궁금합니다
안녕하세요! Eager loading 키워드로 검색 해보세요!
TH-cam Playback Speed Control 앱 설치하고 5배속으로 11분에 끝냈습니다. 생각보다 어려운지 귀에 잘 안들어오네요
맞말추
2빠!
npm i @nestjs/mapped-types 이게 설치 안되어있다고 에러납니다. 그런데 이상하게도 npm i @nestjs/mapped-types 을 하면 찾을수 없다고 나오네요;;
- 수정했습니다>> 기존 pnpm 이 설치된 이후에 npm 으로 @nestjs/mapped-types을 추가하려 했더니 추가가 안됬고, node_modules를 삭제 한 다음에 npm i 해서 node_modules를 추가하고, npm i @nestjs/mapped-types 했더니 잘 되네요.
관심있던 분야였는데 정말 쉽게 설명 잘 해주셔서 재밌게 봤습니다
저는 spring jpa를 하고있어서 더 재밌게봤는데요, typeorm과 상당히 유사한 부분이 있던데 n+1도 동일하게 발생할것 같아서 이 부분은 어떻게 해결하는지 궁금합니다
안녕하세요! Eager loading 키워드로 검색 해보세요!