Projekt

Obecné

Profil

Stáhnout (1.12 KB) Statistiky
| Větev: | Tag: | Revize:
1 3edf22f1 Jakub Danek
#############
2
### build ###
3
#############
4
5
# base image
6
FROM node:12.2.0 as build
7
8
# set working directory
9
WORKDIR /app
10
11
# add `/app/node_modules/.bin` to $PATH
12
ENV PATH /app/node_modules/.bin:$PATH
13
14 5bbe3b0b Pavel Fidransky
# copy package.json and package-lock.json to container
15
COPY package.json package-lock.json ./
16
17 3edf22f1 Jakub Danek
# install and cache app dependencies
18
RUN npm install
19
20
# add app
21
COPY . /app
22
23
# run tests - COMMENTED, later
24 5bbe3b0b Pavel Fidransky
#RUN npm run test
25 3edf22f1 Jakub Danek
26
# generate build
27 5bbe3b0b Pavel Fidransky
RUN npm run build
28 3edf22f1 Jakub Danek
29
############
30
### prod ###
31
############
32
33 5bbe3b0b Pavel Fidransky
# inspired by https://torstenwalter.de/openshift/nginx/2017/08/04/nginx-on-openshift.html
34
35 3edf22f1 Jakub Danek
# base image
36
FROM nginx:1.16.0-alpine
37
38 5bbe3b0b Pavel Fidransky
# support running as arbitrary user which belogs to the root group
39
RUN chmod g+rwx /var/cache/nginx /var/run /var/log/nginx
40
41
# expose port 8081
42
EXPOSE 8081
43
44
# comment user directive as master process is run as user in OpenShift anyhow
45
RUN sed -i.bak 's/^user/#user/' /etc/nginx/nginx.conf
46
47 57ffe6f9 Pavel Fidransky
# copy nginx configuration
48
COPY nginx.conf /etc/nginx/conf.d/default.conf
49
50 3edf22f1 Jakub Danek
# copy artifact build from the 'build environment'
51 5bbe3b0b Pavel Fidransky
COPY --from=build /app/build /usr/share/nginx/html
52 3edf22f1 Jakub Danek
53
# run nginx
54
CMD ["nginx", "-g", "daemon off;"]