간단한 node.js 앱이 있다고 가정합니다. 나는이 같은 간단한 Dockerfile으로 응용 프로그램을 실행하기 위해 컨테이너를 구축 할 수 있습니다 :Docker : 개발 및 프로덕션 환경을위한 모범 사례
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y nodejs nodejs-legacy npm
COPY . /app
WORKDIR /app
RUN npm install
CMD node index.js
이는 용기에 소스 코드를 복사하고 난 레지스트리에 문제 떨어져 그것을 제공 할 수 없습니다.
그러나 개발을 위해 코드의 모든 변경 사항에 대해 컨테이너를 다시 작성하고 싶지 않습니다. 그래서 자연스럽게, 나는 nodemon과 함께 볼륨을 사용합니다. 내 질문은 다음과 같습니다.
- 어떻게 다른 구성을 유지합니까? 두 개의 dockerfiles? 두 가지 다른 작성 파일로 작성하십시오.
- 내 호스트의 node_nodules 폴더가 컨테이너에서 필요한 폴더와 다릅니다 (즉, 일부 패키지가 호스트에 전역으로 설치됨). 볼륨에서 제외 할 수 있습니까? 그렇다면 볼륨을 마운트 한 후 npm install을 실행해야합니다. 어떻게해야합니까?
그럼 내 질문은 정말로 : 어떻게하면 dev 환경을 유지하고 배포 할 수 있습니까? 두 개의 Dockerfiles? 두 개의 작성 파일? 모범 사례가 있습니까?
가 생산 개발에서 다른 무엇 ** 재시작을 할 src 디렉토리에 다른 파일을 변경해야 폴더? 그 환경을 사용할 수 있습니까? –