我有一个简单的Web应用程序,我想放在一个docker容器中。角度应用程序存在于frontend/
文件夹中,该文件夹包含application/
文件夹。
当Dockerfile位于application/
文件夹中时,如下所示:
FROM node
ADD frontend/ frontend/
RUN (cd frontend/; npm install;)
CMD (cd frontend/; npm start;)
一切都正常运行。
但是,当我将Dockerfile移动到frontend/
文件夹并将其更改为读取
FROM node
ADD . frontend/
RUN (cd frontend/; npm install;)
CMD (cd frontend/; npm start;)
没有文件被复制,项目也不会运行。
如何在当前目录中递归添加每个文件和文件夹到我的docker镜像?
答案 0 :(得分:6)
最终工作的Dockerfile是
FROM node
ADD . / frontend/
RUN (cd frontend/; npm install;)
CMD (cd frontend/; npm start;)
向@Matt致敬. / ./
,但我认为唯一不起作用的原因是因为某些原因我的应用程序只会在它位于目录内而不是在'根&#39 ;.这可能与@VonC观察到节点图像没有WORKDIR有关。
答案 1 :(得分:1)
首先,尝试COPY
只是为了测试问题是否仍然存在。
其次,通过将CMD
更改为ls frontend
我在node/7.5/Dockerfile
中看不到WORKDIR
,因此frontend
可以在/frontend
中:ls /frontend
也可以。