Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何将文件和文件夹复制到Dockerfile中的工作目录?_Node.js_Express_Docker_Dockerfile - Fatal编程技术网

Node.js 如何将文件和文件夹复制到Dockerfile中的工作目录?

Node.js 如何将文件和文件夹复制到Dockerfile中的工作目录?,node.js,express,docker,dockerfile,Node.js,Express,Docker,Dockerfile,问题 我有一个简单的节点应用程序,其结构如下: ├── Dockerfile ├── app.js ├── bin │   └── www ├── package.json ├── public │   ├── images │   └── stylesheets ├── routes │   ├── index.js │   └── users.js └── views ├── error.hbs ├── index.hbs └── layout.hbs 在Docke

问题

我有一个简单的节点应用程序,其结构如下:

├── 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

解决方案

要将文件和文件夹复制到工作目录,您可以在Dockerfile中使用以下命令:

WORKDIR /working/directory/path
COPY . .
这是切换到工作目录并从主机源复制所有内容的简单方法

请注意


这将从源路径复制所有内容——在本地测试时更方便

如果不咨询课程,我就找不到这个问题的直接答案。这个答案满足了我使用一行命令将文件和文件夹复制到工作目录的需要。在实际应用程序中,我最喜欢显式路径。