0

我正在尝试使用 Docker 将我的 Angular 应用程序容器化。

我对 Docker 很陌生,因此我遵循了一个教程,添加了Dockerfile以下内容:

FROM node:13.3.0 AS compile-image

WORKDIR /usr/src/app
COPY package.json package-lock.json ./

RUN npm install

ENV PATH="./node_modules/.bin:$PATH"

COPY . ./
RUN ng build --prod

FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=compile-image /opt/ng/dist/myproject /usr/share/nginx/html

但不知何故,它在步骤 9/10 失败,返回以下错误:

复制失败:stat /var/lib/docker/tmp/docker-builder934487773/nginx.conf:没有这样的文件或目录

4

2 回答 2

3

修改了Dockerfile,可以从这里开始,按需更新。

FROM node:13.3.0 AS compile-image    
COPY package.json package-lock.json ./    
RUN npm install && mkdir /angular-app
ENV PATH="./node_modules/.bin:$PATH"
WORKDIR /angular-app
COPY . .
RUN ng build --prod
FROM nginx
RUN rm -rf /usr/share/nginx/html/*
COPY --from=compile-image /angular-app/dist /usr/share/nginx/html

您可以从http://nginx.org/en/docs/beginners_guide.html参考 nginx.conf 文档,如果需要,请创建 conf 文件并在 dockerfile 中添加 COPY 语句

于 2020-06-25T18:07:54.017 回答
0

将 docker-compose 和 dockerfile 放在同一个文件夹中可能会起作用。

于 2020-06-25T08:52:29.657 回答