我正在尝试使用以下多阶段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;
}
}
还有其他人遇到过这个问题吗?任何有关解决这个问题的积极方向都将不胜感激。还在寻找答案,不知道还有什么可以尝试。
在这一行,您有3个参数用于复制:COPY --from=node . /dist/ /usr/share/nginx/html
所以,你有.
,/dist/
和/usr/share/nginx/html
。你应该只有两个,这可能就是它失败的原因。