Sto costruendo un'immagine Docker sul mio build server (utilizzando TeamCity). Dopo che la compilazione è terminata, voglio prendere l'immagine e distribuirla su un server (staging, produzione).Distribuire un'immagine Docker senza utilizzare un repository
Tutti i tutorial che ho trovato sia
- spingere l'immagine ad alcuni repository dove può essere scaricato (tirato) dal server (s), che a piccoli progetti introdurre ulteriore complessità
- uso Heroku-like approccio e costruire le immagini "vicino" o alla macchina in cui verrà eseguito
Penso davvero che non si debba fare nulla di speciale sui server (app). Immagini, IMO, dovrebbero agire come binari chiusi, autosufficienti che rappresentano l'applicazione nel suo complesso e possono essere passati tra i server di build, test, Q & Una ecc
Tuttavia, quando ho save
un'applicazione NodeJS standard basata su il repository ufficiale node
ha 1,2 GB. Passare un tale file da server a server non è molto comodo.
D: Esiste un modo per esportare/salvare e "caricare" solo le parti modificate (livelli) di un'immagine tramite SSH senza introdurre la complessità di un repository Docker? Il server estrae quindi i livelli mancanti dal al pubblico per evitare il caricamento lento dalla mia rete al cloud.
Investire il contenuto di un prefisso save
d non dovrebbe essere difficile da un punto di vista tecnico. In pratica il comando push
non carica mai i layer già presenti nel repository.
Q2: Pensi che eseguire un piccolo repository sull'host di docker su cui sto distribuendo per raggiungere questo obiettivo sia un buon approccio?