se voglio ripristinare il contenitore, posso provare a eseguire il commit di un'immagine, quindi eliminare il contenitore e creare un nuovo contenitore dall'immagine impegnata. Ma se lo faccio, il volume viene eliminato e tutti i miei dati scompaiono
Come spiega la guida per l'utente della finestra mobile, i volumi di dati sono pensati per conservare i dati al di fuori di un file system contenitore. Ciò facilita anche la condivisione dei dati tra più contenitori.
Mentre Docker non eliminerà mai i dati nei volumi (a meno che non si elimini il contenitore associato con docker rm -v
), i volumi a cui non fa riferimento alcun contenitore docker vengono chiamati volumi sospesi . Quei volumi penzolanti sono difficili da eliminare e di difficile accesso.
Ciò significa che non appena viene eliminato l'ultimo contenitore che utilizza un volume, il volume di dati diventa penzolante e il suo contenuto è difficile da accedere.
Al fine di prevenire quei volumi penzolanti, il trucco è creare un contenitore docker aggiuntivo utilizzando il volume di dati che si desidera rimanere; in modo che ci sia sempre almeno quel contenitore finestra mobile che fa riferimento al volume. In questo modo è possibile eliminare il contenitore finestra mobile che esegue l'app wordpress senza perdere la facilità di accesso al contenuto del volume di dati.
Tali contenitori sono chiamati contenitori del volume di dati .
Ci deve essere un modo semplice per eseguire il backup del mio contenitore più i dati del volume, ma non riesco a trovarlo da nessuna parte.
immagini della finestra mobile di backup
Per eseguire il backup delle immagini della finestra mobile, utilizzare il comando salva finestra mobile che produrrà un archivio tar che potrà essere utilizzato in seguito per creare una nuova immagine finestra mobile con il comando caricamento finestra mobile .
contenitori della finestra mobile di backup
È possibile eseguire il backup di un contenitore finestra mobile in diversi modi
- eseguendo il commit di una nuova immagine finestra mobile in base allo stato corrente del contenitore finestra mobile utilizzando il comando commit finestra mobile
- esportando il file system contenitore docker come archivio tar usando il comando export docker . In seguito è possibile creare una nuova immagine finestra mobile da quell'archivio tar con il comando di importazione finestra mobile .
Tenere presente che tali comandi eseguiranno solo il backup del file system a strati del contenitore finestra mobile. Ciò esclude i volumi di dati .
volumi di dati della finestra mobile di backup
Per eseguire il backup di un volume di dati è possibile eseguire un nuovo contenitore utilizzando il volume di cui si desidera eseguire il backup ed eseguendo il comando tar per produrre un archivio del contenuto del volume come descritto nella guida per l'utente della finestra mobile .
Nel tuo caso particolare, il volume di dati viene utilizzato per archiviare i dati per un server MySQL. Quindi, se si desidera esportare un archivio tar per questo volume, è necessario prima arrestare il server MySQL. Per fare ciò dovrai fermare il contenitore wordpress.
eseguire il backup dei dati MySQL
Un altro modo è connettersi in remoto al server MySQL per produrre un dump del database con il comando mysqldump . Tuttavia, affinché questo funzioni, il tuo server MySQL deve essere configurato per accettare connessioni remote e disporre anche di un utente autorizzato a connettersi in remoto. Questo potrebbe non essere il caso dell'immagine docker di wordpress che stai utilizzando.
modificare
Docker ha recentemente introdotto plug-in per volumi Docker che consentono di delegare la gestione dei volumi ai plug-in implementati dai fornitori.
Il docker run
comando ha un nuovo comportamento per l' -v
opzione. Ora è possibile passargli un nome di volume . I volumi creati in questo modo vengono denominati e facilmente consultabili in seguito, facilitando i problemi con volumi sospesi .
Modifica 2
Docker ha introdotto il docker volume prune
comando per eliminare facilmente tutti i volumi sospesi.