harbor/make/photon/portal/Dockerfile
Steven Zou 7bf9372f32 chore[api]:rename API folder to api
- update swagger yaml file reference in `Makefile`
- update swagger yaml file reference in `README`
- update swagger yaml file reference in `docs/configure_swagger.md`
- update swagger yaml file reference in `make/photon/portal/Dockerfile`
- update swagger yaml file reference in `tests/swaggerchecker.sh`

Signed-off-by: Steven Zou <szou@vmware.com>
2019-12-11 17:41:27 +08:00

42 lines
1.2 KiB
Docker

ARG harbor_base_image_version
FROM node:10.15.0 as nodeportal
WORKDIR /build_dir
ARG npm_registry=https://registry.npmjs.org
RUN apt-get update \
&& apt-get install -y --no-install-recommends python-yaml=3.12-1
COPY src/portal/package.json /build_dir
COPY src/portal/package-lock.json /build_dir
ENV NPM_CONFIG_REGISTRY=${npm_registry}
RUN npm install
COPY ./api/harbor/swagger.yaml /build_dir
RUN python -c 'import sys, yaml, json; y=yaml.load(sys.stdin.read()); print json.dumps(y)' < swagger.yaml > swagger.json
COPY ./LICENSE /build_dir
COPY src/portal /build_dir
RUN node --max_old_space_size=2048 'node_modules/@angular/cli/bin/ng' build --prod
FROM goharbor/harbor-portal-base:${harbor_base_image_version}
COPY --from=nodeportal /build_dir/dist /usr/share/nginx/html
COPY --from=nodeportal /build_dir/swagger.yaml /usr/share/nginx/html
COPY --from=nodeportal /build_dir/swagger.json /usr/share/nginx/html
COPY --from=nodeportal /build_dir/LICENSE /usr/share/nginx/html
COPY make/photon/portal/nginx.conf /etc/nginx/nginx.conf
EXPOSE 8080
VOLUME /var/cache/nginx /var/log/nginx /run
STOPSIGNAL SIGQUIT
HEALTHCHECK CMD curl --fail -s http://127.0.0.1:8080 || exit 1
USER nginx
CMD ["nginx", "-g", "daemon off;"]