Невозможно скопировать файл конфигурации в nginix /etc/nginx/conf.d/default.conf - PullRequest
0 голосов
/ 03 июля 2019

Невозможно скопировать файл конфигурации в директории моего проекта в /etc/nginx/conf.d/default.conf

расположение исходного файла: /app/nginix.conf

COPY nginx.conf /etc/nginx/conf.d/default.conf

пункт назначения: /etc/nginx/conf.d/default.conf

Шаги в файле Docker:

Tried the multi stage build:

- FROM node:8.9.0 as buid
- WORKDIR /app
- COPY package.json package-lock.json ./
- RUN npm install
- COPY . ./
- RUN npm run build


- FROM nginx:alpine
- RUN mkdir -p /var/www/html/client
- COPY --from=buid /app/nginix.conf /etc/nginx/conf.d/default.conf
- COPY --from=buid /app/build/ /var/www/html/client

Пробовал комментировать первую команду копирования, и она смогла скопировать сборку, и это было хорошо. когда он может найти сборку в каталоге приложения, почему он не может найти файл nginix.conf, который также находится в этом же каталоге, выполнил команду ls -la и увидел файл nginix.conf.

ТИА

1 Ответ

2 голосов
/ 03 июля 2019

Если путь к исходному файлу равен /app/nginix.conf, тогда dockefile должен содержать:

COPY /app/nginx.conf /etc/nginx/conf.d/default.conf

Если вы запускаете команду docker build из каталога /app на вашем хосте, тогда ваш вышеуказанный файл dockerfile должен работать.

Обновление:

Если вы ожидаете, что файл /app/nginx.conf node образа докера будет представлен в nginx:alpine изображении, вам нужно использовать многоэтапные сборки докера.

Измените dockerfile на

FROM node as build
WORKDIR /app
COPY package json files 
RUN npm build

FROM nginx:alpine 
COPY --from=build /app/nginx.conf /etc/nginx/conf.d/default.conf

Это скопирует файл /app/nginx.conf из node изображения в nginx:alpine изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...