копировать —из в docker-создание многоступенчатой сборки

#nginx #docker-compose #docker-multi-stage-build

#nginx #докер-сочинение #докер-многоступенчатая сборка

Вопрос:

У меня есть файл Docker, который создает приложение react, а затем запускает сервер nginx для обслуживания полученного веб-пакета. Я использую многоступенчатую сборку, что-то вроде:

 # Dockerfile # build application FROM node:14-alpine AS builder ... project cofiguration RUN npm run build  # copy to nginx FROM nginx:stable-alpine COPY --from=builder /app/build /usr/share/nginx/html ... more setup here  
 // docker-compose.yaml version: '3' services:   frontend-nginx:  build:  context: frontend  ports:  ...  

Теперь мне нужно добавить еще одно веб-приложение, поэтому я хочу разделить этапы builder и nginx на отдельные файлы докеров.

Есть ли способ COPY --from в docker-сочинять.yaml? Должен ли я просто сохранить вывод builder на общий том и получить к нему доступ во время выполнения из nginx?

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

1. Они должны быть либо двумя контейнерами, то есть двумя NGINX, либо одним контейнером, то есть в одном файле Dockerfile.

2. @jonrsharpe зачем мне нужны 2 контейнера? У меня есть один сервер nginx, обслуживающий несколько приложений. Мне просто нужно разместить статические страницы из веб-пакета обоих приложений в контейнере nginx.

3. Вам не нужны два контейнера, поэтому я предложил другой вариант.

4. 2-й вариант-это то, что у меня есть сейчас, но контекст становится слишком сложным для управления. Я ищу способ иметь 2 контейнера (на самом деле 1 на веб-приложение 1 nginx) и просто скопировать статические файлы в конечный контейнер nginx. По-вашему, это невозможно?

5. Вы можете использовать тома в файле «docker-compose.yml», если у вас есть код на вашем компьютере. Я не знаю другого способа сделать что-то подобное в docker-compose