Skip to content

Instantly share code, notes, and snippets.

@michal-wrzosek
Created December 3, 2019 02:05
Show Gist options
  • Save michal-wrzosek/ae94fc4fcbc0a25f68ad90c3756e56ea to your computer and use it in GitHub Desktop.
Save michal-wrzosek/ae94fc4fcbc0a25f68ad90c3756e56ea to your computer and use it in GitHub Desktop.
yarn workspaces and Docker
FROM node:10-alpine as build
WORKDIR /usr/src/app
COPY package.json .
COPY yarn.lock .
COPY packages/shared ./packages/shared
COPY packages/api ./packages/api
RUN yarn install --pure-lockfile --non-interactive
WORKDIR /usr/src/app/packages/shared
RUN yarn build
WORKDIR /usr/src/app/packages/api
RUN yarn build
FROM node:10-alpine
WORKDIR /usr/src/app
COPY package.json .
COPY yarn.lock .
COPY --from=build /usr/src/app/packages/shared/package.json /usr/src/app/packages/shared/package.json
COPY --from=build /usr/src/app/packages/shared/dist /usr/src/app/packages/shared/dist
COPY --from=build /usr/src/app/packages/api/package.json /usr/src/app/packages/api/package.json
COPY --from=build /usr/src/app/packages/api/build /usr/src/app/packages/api/build
ENV NODE_ENV production
RUN yarn install --pure-lockfile --non-interactive --production
WORKDIR /usr/src/app/packages/api
CMD ["npm", "start"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment