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