Voglio sfruttare il caching/layering delle immagini docker per risparmiare larghezza di banda, spazio su disco e tempo trascorso.Aggiornamento immagini docker con piccole modifiche utilizzando commit
diciamo:
- Ho un'immagine finestra mobile di un web-app installato e implementato in diversi host della finestra mobile.
- L'immagine della finestra mobile contiene il codice sorgente della mia app Web.
- Ho lavorato al codice e ora ho una nuova versione del codice.
Come dovrei automatizzare la creazione di una nuova finestra mobile commettere ultima immagine sopra contenente solo il bugfix?
Il mio obiettivo è che per scaricare le nuove immagini per gli host di docker che hanno già scaricato l'immagine precedente sarà richiesta solo la piccola correzione del bug.
Questa è la sate della mia riflessione in corso su di esso:
- probabilmente finirò con
docker commit
in qualche modo per salvare aggiornamento nell'immagine. - Ma come posso accedere al contenuto dell'immagine?
- E anche allora, come posso importare le mie modifiche senza ingombrare le immagini originali della finestra mobile con vari strumenti (git e script di shell) che non hanno nulla a che fare con il servizio dell'app Web ?.
- Ho esaminato i volumi per condividere il codice con un'altra finestra mobile che avrebbe curato l'aggiornamento. Ma i volumi non vengono commessi.
Grazie per qualsiasi suggerimento su come ottenere questo!
MODIFICA: l'utilizzo di più file Docker sembra un altro modo per eseguire questa operazione, ovvero http://jpetazzo.github.io/2013/12/01/docker-python-pip-requirements/ per problemi simili. Sembra che avrò bisogno di generare i miei dockerfiles al volo.
Come si aggiunge il codice all'immagine? – Behe
@Behe Non capisco la tua domanda perché ho affermato che fa parte del mio problema. Se la tua domanda riguarda l'aggiunta del codice in primo luogo (prima di aggiornare l'app), beh stavo pensando di usare ADD in build automatizzati come in http://dockerfile.github.io/#/python-runtime. – vaab
Se si utilizza un Dockerfile e si inserisce il comando ADD alla fine, si dovrebbe colpire la cache fino a quando il contenuto modificato viene aggiunto e quindi creare un nuovo livello per il nuovo contenuto. Ti sembra utile? – Behe