2015-08-26 14 views
7

Normalmente, le persone fanno tutto per rendere i dati permanenti di Docker nei loro contenitori e ci sono circa venti milioni di domande su come fare esattamente questo, ma io sono un tester e voglio scaricare tutta quella merda che ho appena fatto ai miei dati e tornare al mio stato conosciuto (aka mia immagine).Ripristina un contenitore di Docker all'immagine originale senza riavviarlo?

Sono consapevole che posso farlo ruotando su un nuovo contenitore basato sulla mia immagine ma questo mi costringe a disconnettere e ricollegare tutte le connessioni di rete al mio contenitore e questo è un enorme dolore.

È possibile ripristinare un contenitore in esecuzione all'immagine originale senza riavviarlo?

risposta

2

Per ripristinare lo stato originale, è necessario riavviare il contenitore: questo è importante perché un'immagine del contenitore è solo un gruppo di file, il contenitore corrente in esecuzione deve avviare un processo e, a causa di ciò, non è possibile ripristinare il contenitore durante l'esecuzione, poiché molto probabilmente questo processo ha problemi.

Quindi, per rispondere alla domanda: riavviare il contenitore, l'immagine di una finestra mobile impiega solo millisecondi per avviarsi, il resto del tempo è l'avvio del processo.

+0

Questo funziona solo se un volume non viene creato dall'immagine. Se l'immagine ha un comando di volume, i dati verranno mantenuti indipendentemente dal riavvio. –

+2

Sfortunatamente, il semplice riavvio di un contenitore (anche uno che non scrive i suoi dati in un volume) non rimuove le modifiche. Devo chiamare 'docker run' sulla mia immagine per ottenere un contenitore con una nuova immagine. 'docker restart' o' docker stop/start' non sono sufficienti. – user2859458

+0

Avrei dovuto essere più chiaro, non intendevo "riavvio docker" piuttosto creare un nuovo contenitore. – Michael

1

Non montare un volume nel contenitore. Volumi, se un data o un mount fs sono persistenti. Se non si persistono i dati, è possibile eseguire la finestra mobile riavviare il contenitore.

Problemi correlati