我想使用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/文件夹,并在那里获得了文件。
1条答案
按热度按时间91zkwejq1#
多亏了@bassxzero解决了这个问题。
nginx.conf: