Я пытаюсь создать свое угловое приложение в Docker, используя следующий Dockerfile:
FROM node:8.11.2-alpine as node
COPY package.json package-lock.json ./
RUN npm i && mkdir /app && cp -R ./node_modules ./app
WORKDIR /usr/src/app
COPY . .
RUN npm install
FROM nginx:1.13.3-alpine
RUN rm -rf /usr/share/nginx/html/*
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=node . /dist/usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
И следующий файл nginx.conf:
server {
listen 80;
location / {
root /usr/share/nginx/html/;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
}
Контейнер строится просто отлично, но когда я проверяю свой порт на этот контейнер, я получаю веб-страницу "403 Запрещено" вместо моего приложения Angular.
При проверке моего контейнера я нахожу следующее сообщение об ошибке:
2018/09/03 23:23:09 [ошибка] 6 # 6: * 1 индекс каталога
"/ usr / share / nginx / html /" запрещен, клиент: 172.17.0.1, сервер:,
запрос: «GET / HTTP / 1.1», хост: «localhost»
Мой файл index.html находится в папке с именем 'src', которая находится в том же каталоге, что и мои файлы DockerFile и nginx.conf.
Не может ли проблема вызвать наличие файла Docker-Compose.yml в том же каталоге, что и файл DockerFile? Есть ли что-то, что мне не хватает?
В текущем контейнере еще нет тома.
Пожалуйста, помогите направить меня в правильном направлении.