Le mie immagini docker sono costruite su un server CI Jenkins e vengono inviate al nostro registro Docker privato. Il mio obiettivo è il provisioning di ambienti con docker-compose che avviino sempre lo stato originale delle immagini.
Attualmente sto usando docker-compose 1.3.2 e 1.4.0 su macchine diverse, ma abbiamo anche usato versioni precedenti.
Ho sempre usato i docker-compose pull && docker-compose up -d
comandi per recuperare le nuove immagini dal registro e avviarle. Credo che il mio comportamento preferito funzionasse come previsto fino a un certo punto nel tempo, ma da allora ha docker-compose up
iniziato a rieseguire container precedentemente arrestati invece di avviare ogni volta le immagini originariamente costruite.
C'è un modo per sbarazzarsi di questo comportamento? In questo modo potrebbe essere uno che è cablato nel file di configurazione docker-compose.yml per non dipendere dal "non dimenticare" qualcosa sulla riga di comando ad ogni chiamata?
ps. Oltre a trovare un modo per raggiungere il mio obiettivo, mi piacerebbe anche sapere qualcosa in più sullo sfondo di questo comportamento. Penso che l'idea di base di Docker sia quella di costruire un'infrastruttura immutabile. L'attuale comportamento di docker-compose sembra semplicemente scontrarsi con questo approccio .. o mi manca qualche punto qui?