Рабочий файл Dockerfile после развертывания в k8s

#docker #kubernetes

Вопрос:

Мой док-файл выглядит так

 # Stage 1 - Create yarn install skeleton layer
FROM node:14-buster-slim AS packages

WORKDIR /app
COPY package.json yarn.lock ./

COPY packages packages

# Uncomment this line if you have a local plugins folder
COPY plugins plugins

RUN find packages ! -name "package.json" -mindepth 2 -maxdepth 2 -exec rm -rf {}  

# Stage 2 - Install dependencies and build packages
FROM node:14-buster-slim AS build

WORKDIR /app
COPY --from=packages /app .

RUN yarn install --frozen-lockfile --network-timeout 600000 amp;amp; rm -rf "$(yarn cache dir)"

COPY . .

RUN yarn tsc
RUN yarn --cwd packages/backend backstage-cli backend:bundle --build-dependencies

# Stage 3 - Build the actual backend image and install production dependencies
FROM node:14-buster-slim

WORKDIR /app
ENV APP_CONFIG_FILE="app-config.yaml"

# Copy from build stage
COPY --from=build /app/yarn.lock /app/package.json /app/packages/backend/dist/skeleton.tar.gz ./
RUN tar xzf skeleton.tar.gz amp;amp; rm skeleton.tar.gz

RUN yarn install --frozen-lockfile --production --network-timeout 600000 amp;amp; rm -rf "$(yarn cache dir)"

COPY --from=build /app/packages/backend/dist/bundle.tar.gz .
RUN tar xzf bundle.tar.gz amp;amp; rm bundle.tar.gz

COPY app-config.yaml ./

CMD node packages/backend --config app-config.yaml
 

После развертывания этого контейнера следует ли ожидать такой же структуры папок на K8s?

Т. е., если я запущу kubectl exec .... , я полагаю, что должен увидеть папку app

и

 cd app
ls
app backend
 

Но моя папка с приложениями пуста! Я понятия не имею, будет ли у модуля k8s та же файловая система, что и у моего контейнера docker.

Кто-нибудь может помочь, пожалуйста?

Комментарии:

1. Расположение файловой системы должно быть идентичным при запуске приложения в локальном докере или в Kubernetes (и docker run --rm -it your-image sh может быть удобным способом дважды проверить содержимое изображения). Можете ли вы предоставить ЯМЛ для развертывания Kubernetes? Надеюсь, вы не пытаетесь перезаписать содержимое изображения с помощью монтирования тома?