2015-05-13 4 views
91

Sto provando a copiare un numero di file e cartelle su un'immagine di una finestra mobile creata dal mio localhost.La copia del file Docker mantiene la struttura della sottodirectory

I file sono come questo:

folder1 
    file1 
    file2 
folder2 
    file1 
    file2 

Sto cercando di rendere la copia in questo modo:

COPY files/* /files/ 

Tuttavia, tutti i file vengono messi in/files/c'è un modo in Docker per mantenere la struttura della sottodirectory e per copiare i file nelle loro directory?

+0

si poteva chiarire che cosa risultato che hai e che cosa risultato vi aspettate? – Thomasleveil

risposta

149

Rimuovere star da COPY, con questo Dockerfile:

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

Struttura è lì:

$ 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

Così banale e tuttavia così importante, grazie amico! – shlomoa

+5

Ma cosa succede se ho bisogno solo di alcuni file come 'COPY files/* 1/files /'? –