suggested strategy do zarządzania i tworzenia kopii zapasowych danych w dokowanym wygląda mniej więcej tak:"Oficjalna" strategia tworzenia kopii zapasowych w doku - co z konsekwencją?
docker run --name mysqldata -v /var/lib/mysql busybox true
docker run --name mysql --volumes-from mysqldata mysql
docker run --volumes-from mysqldata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /var/lib/mysql
Jednak, kiedy zapasowe pojemniki do jazdy w ten sposób, że nie będzie spójne tworzenie kopii zapasowych, ja? Jestem świadomy narzędzi takich jak mysqldump
, ale co jeśli potrzebuję wykonać kopię zapasową, na przykład folderu, do którego pliki są ciągle dodawane i usuwane?
_ "tworzenie kopii zapasowych na wolumin" _ Ale te kopie zapasowe nie będą wtedy spójne, prawda? Co mam na myśli: zasadniczo nie można robić spójnych kopii zapasowych wewnątrz kontenera. Musisz wykonać migawkę (lvm/btrfs)/var/lib/docker/volume/XYZ i wykonać kopię zapasową na hoście. – S1lentSt0rm
Objętości są udostępniane między uruchomionymi kontenerami w czasie rzeczywistym (ish). Możesz nawet zamontować je z systemu plików hosta. przy użyciu -v/host_fs/location:/container_fs/location. Wszystkie zmiany w plikach w woluminie powinny być dostępne dla wszystkich kontenerów i hosta w tym samym czasie. –
Jestem tego świadomy. Problem polega na tym, że potrzebuję _konsystentowych kopii zapasowych: migawka stanu systemu plików _atomowo_ w pewnym momencie i tworzenie kopii zapasowych danych z tej tylko do odczytu migawki. Nie wiem jak to zrobić w kontenerze, ponieważ do tego celu potrzebuję użyć narzędzi lvm lub btrfs. Dzięki opisanemu powyżej podejściu, nikt nie zapobiega zmianie systemu plików podczas wykonywania kopii zapasowej. – S1lentSt0rm