Не могу настроить Docker на Vue.js SPA c vue-router
В своем ТЗ последним пунктом было используя команду docker-compose up развернуть Vue SPA приложение. Перечитал кучу форумов но так и не понял как конфигурировать docker, кто может помочь и объяснить что делаю не так. (P.S. так же использую vue-router в своем SPA)
Dockerfile:
FROM node:14.4.0 as build-stage
RUN mkdir /app
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json /app/package.json
RUN npm install
COPY . /app
RUN npm run build
FROM nginx:1.17
COPY --from=build-stage /app/dist /usr/share/nginx/html
COPY ./nginx.conf /etc/nginx/nginx.conf
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]
Мой nginx.conf
worker_processes auto;
pid /tmp/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
client_body_temp_path /tmp/client_temp;
proxy_temp_path /tmp/proxy_temp_path;
fastcgi_temp_path /tmp/fastcgi_temp;
uwsgi_temp_path /tmp/uwsgi_temp;
scgi_temp_path /tmp/scgi_temp;
server {
listen 8080;
server_name _;
index index.html;
error_log /tmp/error.log;
access_log /tmp/access.log;
location / {
root /code;
try_files $uri /index.html;
}
}
}
Мой docker-compose.ylm
version: "3"
services:
app:
build:
context: ./
dockerfile: Dockerfile
working_dir: /app
volumes:
- ~/.composer-docker/cache:/root/.composer/cache:delegated
- ./:/app:cached
stdin_open: true
tty: true
environment:
- HOST=0.0.0.0
- CHOKIDAR_USEPOLLING=true
ports:
- 8080:8080