Sto utilizzando la finestra mobile in Ubuntu. Durante la fase di sviluppo ho clonato tutto il codice sorgente da Git nell'host, li ho modificati in WebStorm e li ho eseguiti con Node.js all'interno di un contenitore docker con -v /host_dev_src:/container_src
in modo che possa eseguire il test.Copia i file dall'host al contenitore docker, quindi esegui il commit e premi
Poi quando ho voluto inviarli per il test: ho impegnato il contenitore e ho spinto una nuova versione. Ma quando ho tirato e eseguito l'immagine sulla macchina di prova, mancava il codice sorgente. È logico che nella macchina di prova non sia disponibile lo /host_src
.
La mia soluzione attuale consiste nel clonare il codice sorgente sulla macchina di prova ed eseguire la finestra mobile con -v /host_test_src:/container_src
. Ma mi piacerebbe sapere se è possibile copiare il codice sorgente direttamente nel contenitore ed evitare tale manipolazione. Preferirei semplicemente copiare, incollare ed eseguire il file immagine con il codice sorgente, soprattutto perché non c'è alcuna connessione Internet sulle nostre macchine di test.
PS: Sembra che lo docker cp
supporti solo la copia del file dal contenitore all'host.
Grazie per il suggerimento sull'ordine VOLUME. Ho sempre pensato che non si possa scrivere su volumi da un Dockerfile perché ho solo provato il primo VOLUME (che a me sembra più logico). – seanmcl
Sì, i volumi sono piuttosto sottili. Ha senso quando capisci come funzionano. Il mio blog potrebbe aiutare http://container-solutions.com/2014/12/understanding-volumes-docker/ –