You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FROM node:12
WORKDIR /app
COPY package*.json /app/
RUN npm install
COPY . .
EXPOSE 4000
CMD [ "node", "index.js" ]
특수한 이유가 없는 한 alpine 을 써주는게 좋다고 생각합니다. (FROM node:12-alpine)
devDependency 는 install 하지 않습니다. npm install 대신 npm install --only=prod 를 실행하여 가능합니다. 단, 3번을 참조해주세요!
package-lock.json 만을 존중합니다. 프로덕션 용이므로 reproducibility 를 위해 개발환경과 완전히 같은 버전의 dependency 들이 install 되어야 합니다. 그런데 npm install은 package-lock.json 을 따르는 것이 아니고, 오히려 update 할 여지가 있습니다. 따라서 npm install 대신 npm ci 명령어를 사용합니다. 이때, devDependency 가 아닌 dependency 만 install 하도록 npm ci --production 을 실행하던가 NODE_ENV 환경변수를 "production"으로 설정합니다.
WORKDIR 을 /app/ 으로 정했으니, COPY 명령어의 두번째 인자는 상대경로로 주는 일관성을 보입시다.
(COPY package*.json /app/ 대신 COPY package*.json .)
The text was updated successfully, but these errors were encountered:
https://github.com/kookmin-sw/capstone-2020-12/blob/d6996d708c9dce6c233a75b5b73c86f5288a8589/src/server/Dockerfile#L1-L8
특수한 이유가 없는 한 alpine 을 써주는게 좋다고 생각합니다. (
FROM node:12-alpine
)devDependency 는 install 하지 않습니다.
npm install
대신npm install --only=prod
를 실행하여 가능합니다. 단, 3번을 참조해주세요!package-lock.json 만을 존중합니다. 프로덕션 용이므로 reproducibility 를 위해 개발환경과 완전히 같은 버전의 dependency 들이 install 되어야 합니다. 그런데
npm install
은 package-lock.json 을 따르는 것이 아니고, 오히려 update 할 여지가 있습니다. 따라서npm install
대신npm ci
명령어를 사용합니다. 이때, devDependency 가 아닌 dependency 만 install 하도록npm ci --production
을 실행하던가NODE_ENV
환경변수를 "production"으로 설정합니다.WORKDIR 을
/app/
으로 정했으니,COPY
명령어의 두번째 인자는 상대경로로 주는 일관성을 보입시다.(
COPY package*.json /app/
대신COPY package*.json .
)The text was updated successfully, but these errors were encountered: