这不是关于在主机和容器之间传输文件,而是在容器内部。
app.js 存在于构建目录中。
Step 7 : RUN ls build
---> Running in 8461a550a5db
app.js
app.js.map
css
html
img
js
---> 22a863b60265
应复制到 static 文件夹。
Removing intermediate container 8e195477d342
Step 9 : RUN cp build/app.js static/
---> Running in 0a49669338e0
---> 41cb4d3039d1
但它不存在。为什么呢?
Removing intermediate container 0a49669338e0
Step 10 : RUN ls static/
---> Running in 4cdb5f74a722
css
html
img
js
尝试: RUN cp ./build/app.js ./static / - 也不起作用。
答案 0 :(得分:0)
你能尝试使用没有缓存的docker build吗?
docker build -t "your_app" --no-cache=true .
问题在这里:
Removing intermediate container 0a49669338e0
来自Docker文档:https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#build-cache
在构建图像的过程中,Docker将逐步完成 Dockerfile中的指令按指定的顺序执行。 在检查每条指令时,Docker将查找现有图像 在它的缓存中,它可以重用,而不是创建一个新的(重复) 图片。如果你根本不想使用缓存,你可以使用 docker build命令中的--no-cache = true选项。