2015-05-13 16 views
91

Ich versuche, eine Reihe von Dateien und Ordnern in ein Docker-Image zu kopieren, das von meinem localhost erstellt wurde.Dockerfile kopieren Unterverzeichnisstruktur beibehalten

Die Dateien wie diese sind:

folder1 
    file1 
    file2 
folder2 
    file1 
    file2 

Ich versuche, die Kopie so zu machen:

COPY files/* /files/ 

jedoch alle Dateien in/Dateien abgelegt sind/ist es eine Möglichkeit, in Docker, um die Unterverzeichnisstruktur beizubehalten und die Dateien in ihre Verzeichnisse zu kopieren?

+0

könnten Sie klären, was Ergebnis Sie bekam und welches Ergebnis Sie erwarten? – Thomasleveil

Antwort

149

Entfernen Stern von COPY, mit diesem Dockerfile:

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

Struktur ist da:

$ 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

So trivial und doch so wichtig, danke Mann! – shlomoa

+5

Aber was ist, wenn ich nur ein paar Dateien wie 'COPY files/* 1/files /' brauche? –