Sto discutendo con un amico sui casi d'uso di Docker . Un ragazzo del team vuole utilizzare Docker per tutto, come una sorta di wrapper universale per processi unix. L'altro pensa che Docker dovrebbe essere usato solo per applicazioni senza stato come microservizi e app in stile AWS Lambda .
Abbiamo progettato la prova dei concetti per entrambi. Nel nostro cluster docker abbiamo un'unità condivisa che viene montata quando viene montato l'host Docker e se viene montato un database in un contenitore, monta semplicemente un volume sull'unità condivisa.
Il mio amico rimane fedele alla sua posizione, nonostante le prove contrarie mostrino. (Sostiene inoltre che Docker aggiunge rischi inutili aggiungendo complessità allo stack.)
Sto cercando di ascoltare e comprendere il suo punto di vista, sia in un atto di empatia, sia anche per ragionare meglio con lui. (Andiamo tutti abbastanza d'accordo, quindi questo è un mix di discussioni scherzose e serie).
Il tipo di domanda alla base della domanda è: i database sono bovini ? Questo commento suggerisce che una buona strategia di backup e recupero automatizzata per il database non è distinguibile da un server di bestiame.
La mia domanda è: quali sono le ragioni per cui Docker non dovrebbe essere usato per i database?
EDIT: le persone mi hanno chiesto di chiarire la mia terminologia. Supponevo che l'applicazione di database fosse nel contenitore e che lo spazio di archiviazione fosse nel volume. Intendevo dire che RDBMS era nel contenitore e l'archiviazione del database è nel volume.
Alcuni commentatori hanno suggerito che i driver del volume della finestra mobile non funzioneranno molto bene con le scritture del database. (O qualcosa in tal senso). Potresti per favore ampliarlo?