Kubernetes (на самом деле среда выполнения контейнера внизу) bind mounts том / каталог с хоста в контейнер. Все файлы и подкаталоги в целевом каталоге контейнеров скрыты под содержимым каталога, который теперь монтируется сверху.
Вам действительно нужен общий том для этих данных? Что-нибудь из этого обновляется во время выполнения?
Если вам нужны общие данные, вы можете добавить initContainer
в ваше развертывание, и оно сможет управлять копированием данных на том. Для сложных сценариев ios, rsync
обычно будет иметь флаг для того, что вам нужно сделать.
initContainers:
- name: app
image: my/nginx:1.17
volumeMounts:
- name: app-data
mountPath: /app/data
- name: app-data
image: my/app:3.1.4
command: ["sh", "-c", "cp -r /app/dist/. /app/data"]
volumeMounts:
- name: app-data
mountPath: /app/data
Звучит так, как будто вы принимаете SPA * 1015. *. Если общий том предназначен просто для загрузки встроенных файлов stati c в контейнер nginx, возможно, при внедрении файлы могут вставляться в контейнер веб-сервера, а не работать с томами.
FROM docker.io/node:12 AS build
WORKDIR /app
COPY . /app/
RUN yarn install && yarn build
FROM docker.io/nginx:1.17
COPY --from=build /app/dist/. /usr/share/nginx/html/
CMD [ "nginx", "-g", "daemon off;" ]