В целом, это больше вопрос стратегии, существует множество подходов к резервному копированию критических данных, и вы можете или не можете выбрать тот, который относится к контейнерам Docker.
По техническим вопросам, которые выспросил:
Если контейнер «выходит из строя», его файлы остаются нетронутыми и будут там при перезапуске (то есть, если вы перезапустите тот же контейнер и не создадите новый).Если машина выйдет из строя, контейнер вернется обратно, если и когда машина будет перезапущена.В зависимости от того, как вы создали контейнер, вам может потребоваться запустить его самостоятельно, или Docker может перезапустить его автоматически.Если он вышел из строя и не вернется - вы потеряете все данные на нем, включая файлы в контейнерах.
Вы можете создать «резервный контейнер» (или, точнее, образ резервной копии), но еслион был оставлен на той же машине, он умрет с этой машиной.Вам нужно будет сохранить его в другом месте (например, с помощью «Docker Push», хотя я не рекомендую этого, если у вас нет собственного реестра Docker для использования для резервного копирования).
Если вы делаете «commit», этопросто создает новый образ контейнера, в котором есть файлы, какими они были при фиксации.Вы должны зафиксировать остановленный контейнер, если вы хотите получить правильную копию всех файлов - я не думаю, что вы можете сделать это, пока есть активные открытые файлы.Эта копия находится на том же компьютере, где находился контейнер, поэтому вам все равно нужно сохранить его подальше от этого компьютера, чтобы защитить его от потери.Обратите внимание, что для использования сохраненного изображения вы должны пометить его и использовать для запуска нового контейнера.Изображение, из которого вы запустили старый контейнер, не затрагивается коммитом (использование этого старого изображения запустит контейнер таким, каким он был тогда, когда вы его впервые создали).
IMO, опция лучше, чем 'commit '(который сохраняет всю файловую систему контейнера вместе со всеми ненужными файлами, такими как журналы и временные файлы) - это монтировать том докера в путь, где хранятся важные файлы (например, / var / lib / mysql, если вы запускаетебазы данных mysql) - и создайте резервную копию только этого тома.