Skip to content

Dockerfile template

Common usage

FROM node:16-alpine

# make the 'app' folder the current working directory
WORKDIR /app

# setup ENV
ENV MODE=development

# copy src code
COPY . .

# Run command such as apk / apt-get
RUN apk add --no-cache chromium ca-certificates \
  # install project dependencies
  && npm install \
  # Run npm script
  && npm run xxxxxx \
  # Add user, chmod, chown...etc
  && chmod +x /usr/local/bin/xxxxxx \
  && addgroup -S xxxxuser_grp && adduser -S -G xxxxuser_grp xxxuser \
  && chown -R xxxxuser_grp:xxxuser /home/xxxx \

# Run as xxxx user
USER xxxuser

# expose certain ports
EXPOSE 8080 3000

# entry command
# Or ENTRYPOINT [ "/opt/app/run.sh", "--port", "8080" ]
CMD [ "npm", "run", "xxxxx" ]

Comments