在Docker中添加或复制文件夹

我的目录结构如下

Dockerfile downloads 

我想添加下载到/ tmp

  ADD downloads /tmp/ COPY down* /tmp ADD ./downloads /tmp 

没有什么作品。 它将下载的内容复制到tmp。 我想复制下载floder。 任何想法?

  ADD . tmp/ 

也复制Dockerfile。 我不想将Dockerfile复制到tmp /

我相信你需要:

 COPY downloads /tmp/downloads/ 

这会将下载目录的内容复制到映像中名为/tmp/downloads/的目录中。

如果你的文件夹没有以/结尾被认为是一个文件,那么你应该像写ADD /abc/ def/如果你想复制一个文件夹。

首先将要添加的目录设为单个存档文件:

 tar -zcf download.tar.gz download 

然后在Dockerfile中添加存档文件:

 ADD download.tar.gz tmp/ 

注意:目录本身不被复制,只是它的内容

从关于COPYADD的dockerfile引用,它说Note: The directory itself is not copied, just its contents. ,所以你必须明确指定一个dest目录。

RE: https : //docs.docker.com/engine/reference/builder/#copy

例如

src目录的内容复制到/some_dir/dest_dir目录。

COPY ./src /some_dir/dest_dir/

您可以使用:

 RUN mkdir /path/to/your/new/folder/ COPY /host/folder/* /path/to/your/new/folder/ 

虽然我只find一个COPY电话,但是找不到一个直接的方法。