-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
39 lines (37 loc) · 1.06 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
FROM mkenney/npm AS builder
COPY . /app
WORKDIR /app
RUN npm install
RUN npm run buildprod
RUN npm prune --production
FROM node:alpine AS production
ARG SERVER_PORT=8080
ARG DB_SERVER=127.0.0.1
ARG DB_PORT=3306
ARG DB_NAME=dbTest2
ARG DB_USER=test
ARG DB_PASSWORD=Start!123
LABEL maintainer="[email protected]"
RUN mkdir -p /app/public
WORKDIR /app
COPY server.js rest*.js ./
COPY --from=builder /app/public/font public/font
COPY --from=builder /app/public/*.js /app/public/*.html public/
COPY --from=builder /app/node_modules node_modules
RUN echo "\
{\
\"logger\": {\
\"appenders\": { \"stderr\": { \"type\": \"stderr\" } },\
\"categories\": { \"default\": { \"appenders\": [\"stderr\"], \"level\": \"ERROR\" } }\
},\
\"server_port\": ${SERVER_PORT},\
\"db_server\": \"${DB_SERVER}\",\
\"db_port\": ${DB_PORT},\
\"db_name\": \"${DB_NAME}\",\
\"db_user\": \"${DB_USER}\",\
\"db_password\": \"${DB_PASSWORD}\"\
}\
" >config.json
EXPOSE 8080/tcp
ENTRYPOINT ["/usr/local/bin/node", "server.js"]
# vim: set sw=4 ts=4 et indk= :