2016-02-23 27 views
7

Ho sotto l'elenco delle immagini presenti sul mio sistema, voglio copiare tutte queste immagini sulla macchina remota.Come salvare tutte le immagini della finestra mobile e copiare su un'altra macchina?

REPOSITORY   TAG     IMAGE ID   CREATED    VIRTUAL SIZE 
u14_py269   latest    6a1ec0b508b3  4 days ago   885.9 MB 
u12_py273   latest    c2a804894851  4 days ago   686 MB 
u12_core   latest    0d61eba80df2  4 days ago   629.1 MB 
c6_py266   latest    cb1a94742d59  4 days ago   1.32 GB 
c6_core    latest    77c2ed19d87f  4 days ago   1.278 GB 
c7_py275   latest    bb1d3de68452  4 days ago   1.117 GB 
c7_core    latest    ca14a76e9cca  4 days ago   1.081 GB 
u14_py35   latest    d110c7e4a1f5  5 days ago   914.5 MB 
u14_py34   latest    085a37cb8614  5 days ago   830.7 MB 
u14_py276   latest    8927c6167930  5 days ago   834.1 MB 
u14_core   latest    93ead5abc25b  5 days ago   776.9 MB 
centos    centos6    36877b5acebb  5 days ago   228.9 MB 
ubuntu    latest    36248ae4a9ac  5 days ago   188 MB 
ubuntu    12.04    94a7cb19a65b  5 days ago   137.8 MB 
edgester/gerrit  latest    ce4e3238052a  6 days ago   735.2 MB 
u14_as374_py276  latest    fa5fb7189d70  11 days ago   1.497 GB 
c721_as373_py275 latest    03ccf6961d0c  11 days ago   844.3 MB 
c721_as373_py35  latest    b5fece3dd45b  11 days ago   1.127 GB 
c171_con_core  latest    8af0d24a38a0  2 weeks ago   377.2 MB 
u14_as374_php55  latest    29df638e363a  3 weeks ago   1.073 GB 
j_u14_as374_php55 latest    29df638e363a  3 weeks ago   1.073 GB 
centos    centos7    c8a648134623  8 weeks ago   196.6 MB 
centos    latest    c8a648134623  8 weeks ago   196.6 MB 
j_u14_as374_py276 latest    28f379d60882  10 weeks ago  871.5 MB 
ubuntu    14.04    89d5d8e8bafb  10 weeks ago  187.9 MB 

Attualmente sto usando il metodo suggerito in save and load docker images, credo che ci deve essere un modo migliore per affrontare tutte le immagini.

+0

Qual è il problema con 'finestra mobile salvare/carico'? – Auzias

+0

@Auzias in save/load method Dovrò farlo per 1 immagine alla volta, cercando il modo ottimale per gestire tutte le immagini in un colpo solo. –

+1

Questo perché bash è potente. Può iterare ed eseguire loop. Vedi la risposta di @kpie. E una riga di comando è sufficiente: 'finestra mobile salva $ (finestra mobile immagini -q)' – Auzias

risposta

1

Utilizzando un registro, è possibile avere un flusso di lavoro simile a Git. Modifica localmente il tuo contenitore, invia le modifiche a un'immagine locale, quindi invia l'immagine al registro. È quindi possibile estrarre l'immagine dalla macchina remota.

È possibile utilizzare l'hub Docker pubblico oppure è possibile impostare il proprio server di registro.

https://docs.docker.com/registry/

1

È possibile utilizzare bash per scorrere la risposta a docker images esecuzione docker save -o <save image to path> <image name> su ogni immagine, che (ammesso che tutti salvati in una cartella) è possibile comprimere in su e scp per l'host remoto.

12

Se si desidera esportare tutte le immagini contemporaneamente, creare un unico grande file tar:

docker save $(docker images -q) -o /path/to/save/mydockersimages.tar 

Se si desidera salvare multipli immagini in un unico .tar di file:

IDS=$(docker images | awk '{if ($1 ~ /^(debian|centos)/) print $3}') 
docker save $IDS -o /path/to/save/somedockersimages.tar 

Infine, se si vuoi esportare più immagini, con un file .tar per immagini (non efficiente sul disco: livello comune vengono salvate in ogni file .tar):

docker images | awk '{if ($1 ~ /^(openshift|centos)/) print $1 " " $2 " " $3 }' | tr -c "a-z A-Z0-9_.\n-" "%" | while read REPOSITORY TAG IMAGE_ID 
do 
    echo "== Saving $REPOSITORY $TAG $IMAGE_ID ==" 
    docker save -o /path/to/save/$REPOSITORY-$TAG-$IMAGE_ID.tar $IMAGE_ID 
done 

Sulla macchina remota, è possibile load (importazione) le immagini:

docker load -i /path/to/save/mydockersimages.tar 

Per ulteriori informazioni sul salvataggio/caricamento, leggi: How to copy docker images from one host to another without via repository?

+1

Ho realizzato il sinleum enorme e l'ho caricato. ha ottenuto tutte le immagini ma nessuna ha repository o title/Tags. Ora come diamine dovrei sapere quali immagini ho? – Bsienn

Problemi correlati