Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR SHELL

best practices, build multi stage docker image securely

# --------------> The build image
FROM node:latest AS build
WORKDIR /usr/src/app
COPY package*.json /usr/src/app/
RUN --mount=type=secret,mode=0644,id=npmrc,target=/usr/src/app/.npmrc npm ci --only=production
 
# --------------> The production image
FROM node:lts-alpine
RUN apk add dumb-init
ENV NODE_ENV production
USER node
WORKDIR /usr/src/app
COPY --chown=node:node --from=build /usr/src/app/node_modules /usr/src/app/node_modules
COPY --chown=node:node . /usr/src/app
CMD ["dumb-init", "node", "server.js"]


docker build . -t nodejs-tutorial --secret id=npmrc,src=.npmrc
DOCKER_BUILDKIT=1 docker build . -t nodejs-tutorial --build-arg NPM_TOKEN=1234 --secret id=npmrc,src=.npmrc
Source by snyk.io #
 
PREVIOUS NEXT
Tagged: #build #multi #stage #docker #image #securely
ADD COMMENT
Topic
Name
4+3 =