无法加载/usr/share/nginx/html/文件

gg58donl  于 2023-01-12  发布在  Nginx
关注(0)|答案(1)|浏览(875)

我想使用Dockerfile对一个简单的Vue.js应用程序进行dockerize并创建一个构建过程。但是,在从NGINX构建时,我遇到一些错误,看起来像是项目的静态构建文件丢失了。当我登录到localhost:8080时,我得到一个空页面,在控制台中显示以下消息:
2023年1月6日07:00:03 [错误] 30编号30:* 1打开()文件失败(2:无此类文件或目录),客户端:www.example.com,服务器:本地主机,请求:172.17.0.1"本地主机:8080",引用地址:"网址:http://localhost:8080/" "localhost:8080", referrer: "http://localhost:8080/"
...
我尝试访问容器内的/usr/share/nginx文件夹,但那里什么都看不到。在构建dockerfile过程中,它应该将所有必要的文件COPY到某些应该可以访问的文件夹中,但似乎什么都没有发生。
停靠文件:

FROM node:lts-alpine as build-stage
WORKDIR /app
COPY package*.json .env ./
RUN npm install
COPY . .
RUN npm run build

FROM nginx:stable-alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

我还尝试在没有评论中提到的生产阶段的情况下进行构建,检查了容器内的/app/dist、/js/文件夹,并在那里获得了文件。

91zkwejq

91zkwejq1#

多亏了@bassxzero解决了这个问题。
nginx.conf:

events {
    worker_connections 1024;
}
http {
  server {
    listen 80;
    server_name localhost;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
  }
}

相关问题