Skip to content
Snippets Groups Projects
Select Git revision
  • f6f5c62e4de264200cca14a8dd515c50a9f6826d
  • devel default protected
  • eduardo217
  • jhenifer207
  • jhenifer128
  • jhenifer126
  • jhenifer125
  • guilherme190
  • lineu180
  • lineu181
  • bruna141
  • bruna216
  • altamiro187
  • maria134
  • maria133
  • maria132
  • vinicius177
  • vinicius176
  • vinicius173
  • vinicius210
  • ludmila155
21 results

PaulaEx3.7.14.Rd

  • Dockerfile 1.37 KiB
    # Avoid the use of floating tags like: latest, boron, argon and carbon
    ARG VERSION=6.12.2
    FROM node:$VERSION
    
    LABEL autor="C3SL - Centro de Computação Científica e Software Livre"
    
    
    # Node was not designed to run as PID 1 (process in docker run with PID 1).
    # Its recommended to use the flag --init or use tine to start node process
    # in docker
    
    # Add Tini
    ENV TINI_VERSION="v0.16.1" WORKSPACE="/home/node/app/"
    ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
    
    # Install app dependencies
    # A wildcard is used to ensure both package.json AND package-lock.json are copied
    # where available (npm@5+)
    
    COPY package*.json $WORKSPACE
    RUN \
        chmod +x /tini &&\
        chown -R node:node $WORKSPACE
    
    USER node
    WORKDIR $WORKSPACE
    
    RUN npm install
    
    # Bundle app source
    # COPY copy files as root so chown must be used
    USER root
    COPY . .
    RUN find . -user root | xargs chown node:node
    USER node
    
    VOLUME ["/home/node/app/config"]
    
    EXPOSE 3000
    
    HEALTHCHECK CMD curl -f http://localhost:3000/v1/metrics || exit 1
    
    # Instead of using npm start to start the container, directly put the command
    # that npm start executes.
    # First off this reduces the number of processes running inside of your container
    # Secondly it causes exit signals such as SIGTERM and SIGINT to be received by
    # the Node.js process instead of npm swallowing them.
    
    
    ENTRYPOINT ["/tini", "--"]
    CMD ["node", "index" ]