如何在Docker上为Vue-router配置Nginx

我正在设置docker镜像,nginx以将Vue应用作为静态文件提供。我的vue应用程序使用Vue-

Router,并且可以在其他服务器上完美运行。我的Nginx配置如下所示:https :

//router.vuejs.org/guide/essentials/history-mode.html#example-server-

configurations

现在我想迁移到docker,这是我的 Dockerfile

# build stage

FROM node:9.11.1-alpine as build-stage

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

RUN npm run build

# production stage

FROM nginx:1.15.8-alpine as production-stage

COPY docker/nginx/prod.conf /etc/nginx/nginx.conf/prod.conf # [*]

COPY --from=build-stage /app/dist /usr/share/nginx/html

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

这是 docker/nginx/prod.conf

server {

listen 80;

server_name _ default_server;

root /usr/share/nginx/html;

location / {

try_files $uri $uri/ /index.html;

}

}

它适用于主页,例如:http :

//192.168.1.10,但在其他URL上获得了404,例如http://192.168.1.10/settings

prod.conf已复制到nginx文件夹,我确实看到了。

你有什么主意,还是我想念什么?

回答:

这就是我解决问题的方式。

# Add nginx config

COPY .docker/nginx/prod.conf /temp/prod.conf

RUN envsubst /app < /temp/prod.conf > /etc/nginx/conf.d/default.conf

以上是 如何在Docker上为Vue-router配置Nginx 的全部内容, 来源链接: utcz.com/qa/412565.html

回到顶部