问题
我有一个具有以下结构的简单节点应用程序:
├── Dockerfile
├── app.js
├── bin
│ └── www
├── package.json
├── public
│ ├── images
│ └── stylesheets
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.hbs
├── index.hbs
└── layout.hbs
在我的Dockerfile中,如何将文件和文件夹都复制到一个与主机具有相同文件结构的工作目录中?
也就是说,如果我将工作文件夹的内容作为运行命令列出,它将匹配:
Step 9/11 : RUN ls -la ./
---> Running in 15dd5125da65
total 40
drwxr-xr-x 1 root root 4096 Aug 25 02:58 .
drwxr-xr-x 1 root root 4096 Aug 25 00:30 ..
-rw-r--r-- 1 root root 2685 Aug 25 02:58 Dockerfile
-rw-r--r-- 1 root root 1256 Aug 25 00:17 app.js
drwxr-xr-x 2 root root 4096 Aug 25 00:17 bin
drwxr-xr-x 79 root root 4096 Aug 25 00:30 node_modules
-rw-r--r-- 1 root root 341 Aug 25 00:17 package.json
drwxr-xr-x 4 root root 4096 Aug 25 00:17 public
drwxr-xr-x 2 root root 4096 Aug 25 00:17 routes
drwxr-xr-x 2 root root 4096 Aug 25 00:17 views
答案 0 :(得分:2)
解决方案
为了将文件和文件夹复制到工作目录,可以在Dockerfile中使用以下内容:
WORKDIR /working/directory/path
COPY . .
这是更改到工作目录并从主机源复制所有内容的简便方法。
请注意
这将复制源路径中的所有内容-在本地测试时更加方便。