Deduplikace typů a sloučení kontejnerů
- Zavedení yarn workspaces - Sloučení klienta a serveru do jednoho Docker kontejneru - Společný dockerfile, builder - Zbavení se nginx (není již potřeba)
This commit is contained in:
46
Dockerfile
Normal file
46
Dockerfile
Normal file
@@ -0,0 +1,46 @@
|
||||
# Builder
|
||||
FROM node:18-alpine3.18 as builder
|
||||
|
||||
ENV LANG cs_CZ.UTF-8
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
COPY package.json .
|
||||
COPY yarn.lock .
|
||||
|
||||
COPY server/package.json ./server/
|
||||
COPY client/package.json ./client/
|
||||
|
||||
RUN yarn install --frozen-lockfile
|
||||
|
||||
COPY server/tsconfig.json ./server/
|
||||
COPY server/src ./server/src/
|
||||
|
||||
COPY client/tsconfig.json ./client/
|
||||
COPY client/src ./client/src
|
||||
COPY client/public ./client/public
|
||||
|
||||
COPY types ./types/
|
||||
|
||||
WORKDIR /build/server
|
||||
RUN yarn build
|
||||
|
||||
WORKDIR /build/client
|
||||
RUN yarn build
|
||||
|
||||
# Runner
|
||||
FROM node:18-alpine3.18
|
||||
ENV NODE_ENV production
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=builder /build/node_modules ./node_modules
|
||||
COPY --from=builder /build/server/dist ./
|
||||
COPY --from=builder /build/client/build ./public
|
||||
COPY /server/.env.production ./server/src
|
||||
|
||||
RUN echo "Test root" && ls -la
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
CMD [ "node", "./server/src/index.js" ]
|
||||
Reference in New Issue
Block a user