У меня есть приложение React, работающее в контейнере nginx, как описано в следующем Dockerfile. Теперь я хотел бы добавить HEALTHCHECK
в мой Dockerfile, который мог бы выглядеть примерно так:
HEALTHCHECK --interval=10s node /healthcheck.js
Однако я не могу понять, как это сделать. Нужно ли добавлять эту проверку работоспособности на моей последней стадии сборки Docker? Я предполагаю, что контейнер nginx не может запускать какие-либо команды node
?
Или мне нужно добавить проверку работоспособности где-нибудь на «этапе 1»?
Dockerfile
# Stage "0" - Create cached node_modules
# Only rebuilds layer if package.json has changed.
FROM node:10-alpine AS node_cache
WORKDIR /cache
COPY package.json package-lock.json ./
RUN npm install
# Stage 1 - Build the application using cached node layer
FROM node:10-alpine AS build-stage
WORKDIR /app
COPY --from=node_cache /cache/ .
COPY . ./
ARG REACT_APP_API_ENDPOINT
ENV REACT_APP_API_ENDPOINT $REACT_APP_API_ENDPOINT
RUN npm run build
# Stage 2 - Create the production image containing the compiled app only
FROM nginx:1.15-alpine
COPY --from=build-stage /app/build/ /usr/share/nginx/html