|
@@ -1,27 +1,24 @@
|
|
|
-FROM node:8.9.1
|
|
|
|
|
-
|
|
|
|
|
-WORKDIR /app
|
|
|
|
|
|
|
+FROM node:8.9.1 as app
|
|
|
|
|
|
|
|
-COPY package.json /app/
|
|
|
|
|
|
|
+COPY ./ /app
|
|
|
|
|
|
|
|
-RUN npm install --quiet
|
|
|
|
|
|
|
+WORKDIR /app
|
|
|
|
|
|
|
|
|
|
+RUN npm install
|
|
|
|
|
|
|
|
-COPY . /app
|
|
|
|
|
RUN npm run compile:all
|
|
RUN npm run compile:all
|
|
|
|
|
|
|
|
FROM node:8.9.1
|
|
FROM node:8.9.1
|
|
|
|
|
|
|
|
-COPY --from=0 /app /app
|
|
|
|
|
-# All app and node_modules will be owned by root.
|
|
|
|
|
-# The app will run as the 'app' user, and so not have write permissions
|
|
|
|
|
-# on any files it doesn't need.
|
|
|
|
|
-RUN useradd --user-group --create-home --home-dir /app --shell /bin/false app
|
|
|
|
|
-RUN chown app:app /app/uploads
|
|
|
|
|
|
|
+COPY --from=app /app /app
|
|
|
|
|
|
|
|
-USER app
|
|
|
|
|
WORKDIR /app
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
-EXPOSE 3009
|
|
|
|
|
|
|
+# All app and node_modules will be owned by root.
|
|
|
|
|
+# The app will run as the 'node' user, and so not have write permissions
|
|
|
|
|
+# on any files it doesn't need.
|
|
|
|
|
+RUN ./install_deps.sh
|
|
|
|
|
+
|
|
|
|
|
+USER node
|
|
|
|
|
|
|
|
CMD ["node","app.js"]
|
|
CMD ["node","app.js"]
|