2015-05-13 2 views
91

Я пытаюсь скопировать несколько файлов и папок в сборку изображений докеров с моего локального хоста.Dockerfile copy сохранить структуру подкаталога

Файлы, как это:

folder1 
    file1 
    file2 
folder2 
    file1 
    file2 

Я пытаюсь сделать копию так:

COPY files/* /files/ 

Однако все файлы помещаются в/файлов/есть способ в Докер сохраняет структуру подкаталога, а также копирует файлы в свои каталоги?

+0

могли бы вы уточнить, какой результат вы получили и какой результат вы ожидаете? – Thomasleveil

ответ

149

Снять пометку с COPY, с этим Dockerfile:

FROM ubuntu 
COPY files/ /files/ 
RUN ls -la /files/* 

Структура есть:

$ docker build . 
Sending build context to Docker daemon 5.632 kB 
Sending build context to Docker daemon 
Step 0 : FROM ubuntu 
---> d0955f21bf24 
Step 1 : COPY files/ /files/ 
---> 5cc4ae8708a6 
Removing intermediate container c6f7f7ec8ccf 
Step 2 : RUN ls -la /files/* 
---> Running in 08ab9a1e042f 
/files/folder1: 
total 8 
drwxr-xr-x 2 root root 4096 May 13 16:04 . 
drwxr-xr-x 4 root root 4096 May 13 16:05 .. 
-rw-r--r-- 1 root root 0 May 13 16:04 file1 
-rw-r--r-- 1 root root 0 May 13 16:04 file2 

/files/folder2: 
total 8 
drwxr-xr-x 2 root root 4096 May 13 16:04 . 
drwxr-xr-x 4 root root 4096 May 13 16:05 .. 
-rw-r--r-- 1 root root 0 May 13 16:04 file1 
-rw-r--r-- 1 root root 0 May 13 16:04 file2 
---> 03ff0a5d0e4b 
Removing intermediate container 08ab9a1e042f 
Successfully built 03ff0a5d0e4b 
+0

Так банально и все же так важно, спасибо человеку! – shlomoa

+5

Но что, если мне нужны только некоторые файлы, такие как 'COPY files/* 1/files /'? –