让我先说明我无法公开存储库。我会提供尽可能多的信息来帮助理解这个问题。
我有一个Angular CLI生成项目,Angular版本为4.4.6,Angular CLI的项目版本和全局版本版本为1.5.5。
当我运行ng serve
,ng build
,ng build --prod
或ng build --env=someEnv
时,项目构建得很好。我已从本地删除了构建输出中的所有错误。
当我尝试执行项目的多级Dockerfile映像构建时,问题出现了。这是Dockerfile:
FROM johnpapa/angular-cli as angular-build
WORKDIR /usr/src/app
COPY package.json package.json
RUN npm install --silent
COPY . .
RUN ng build --prod
FROM nginx:alpine
LABEL author="Preston Lamb"
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=angular-build /usr/src/app/dist /usr/share/nginx/html
EXPOSE 80 443
ENTRYPOINT [ "nginx", "-g", "daemon off;" ]
johnpapa/angular-cli
基本图片包含@angular/cli v 1.5.5
。
这是基于我在约翰帕帕的this repo here收到的帮助。当我尝试执行Dockerfile blob时,这是来自的输出:
在ng build --prod
之前一切顺利。那里发生错误,但不是很具体。 postcss-url库似乎有些错误......但我无法100%确定。
我不知道下一步该尝试什么。我用谷歌搜索了这个错误,但一无所获。有没有其他人知道从哪里开始?
如果我从CLI创建一个新的Angular应用程序并使用相同的Dockerfile来构建图像,那么它可以工作。所以这是项目中的内容,但我根据错误输出不知道在哪里看。