Docker - 适用于Angular应用程序的多级DockerFile。 COPY失败

问题描述 投票:0回答:1

我正在尝试使用以下多阶段DockerFile为我的角应用程序创建自定义图像:

FROM node:8.11.2-alpine as node

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

RUN npm run build

FROM nginx:1.13.12-alpine
COPY --from=node . /dist/ /usr/share/nginx/html
COPY ./nginx.conf /etc/nginx/conf.d/default.conf

但是,当我尝试构建映像时,我在控制台窗口中收到以下错误:

Step 8/9 : COPY --from=node . /dist/ /usr/share/nginx/html
COPY failed: stat 
/var/lib/docker/overlay2/be4bf1ad6bf693062d3bbcebf060281
e331c3135e3178068f3f9bf91113da200/merged/dist: no such file or directory

我仍然相对较新的Docker和构建我自己的Dockerfile,到目前为止我尝试/研究的所有内容总是返回相同的错误消息。

我的应用程序的文件夹结构类似于以下内容:

--Docker-Compose.yml
--Angular App
  --ClientApp
    --Dockerfile
    --nginx.conf
    --package.json
    --src(folder)
      --index.html

我实际构建所需的nginx-conf文件如下所示:

   server {
  listen 80;
  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri $uri/ /index.html =404;
  }
}

还有其他人遇到过这个问题吗?任何有关解决这个问题的积极方向都将不胜感激。还在寻找答案,不知道还有什么可以尝试。

angular docker nginx dockerfile
1个回答
0
投票

在这一行,您有3个参数用于复制:COPY --from=node . /dist/ /usr/share/nginx/html

所以,你有./dist//usr/share/nginx/html。你应该只有两个,这可能就是它失败的原因。

© www.soinside.com 2019 - 2024. All rights reserved.