Чтобы развернуть экспресс-файл node.js в рабочей среде, я хотел использовать kubernetes. Были выполнены следующие шаги:
- создан кластер в облаке Google
- клонировать код в кластер изgit
- сборка докера -t gcr.io/[GCLOUDID]/app:v1.
- docker pushgcr.io/[GCLOUDID]/app:v1
- запустить приложение kubectl --image = gcr.io / [GCLOUDID] / app: v1
Это работает нормально, но когда я хочу обновить код, я немного заблудился. я попытался собрать v2 (сборка докера -t gcr.io/[GCLOUDID]/app:v2.) и установить образ с помощью kubectl set image deployments / app app = gcr.io / [GCLOUDID] / app: v2
этот метод генерирует все виды ошибок (например, imagepullbackoff, crashloopbackoff)
этот файл docker использовался:
FROM node:11-alpine
WORKDIR /
COPY . /
RUN rm -rf node_modules
RUN rm -rf package-lock.json
RUN apk update && apk upgrade \
&& apk add --no-cache git \
&& apk --no-cache add --virtual builds-deps build-base python \
&& npm rebuild bcrypt --build-from-source
# Install imagemagick with support to native library
RUN apk add --no-cache file
RUN apk --update add imagemagick
RUN npm install
ENV TYPE=docker
EXPOSE 80
CMD [ "npm", "start" ]