Inną odpowiedzią jest stwierdzenie, że woluminy nie mogą być zatwierdzone, a kontenery podrzędne w rzeczywistości dziedziczą definicje woluminów od rodziców. Dlatego wszelkie zmiany głośności zostaną odrzucone. Chciałbym dodać dane, takie jak pliki bazy danych mysql, które zawsze powinny być w woluminach z kilku powodów i nie powinieneś próbować umieszczać ich w swoim obrazie.
- Jeśli musisz przeprowadzić migrację kontenerów, nie ma łatwego sposobu na wyodrębnienie danych z kontenerów, jeśli nie są one w wolumenie.
- Jeśli chcesz uruchomić wiele kontenerów, które współdzielą dane, musisz mieć dane w wolumenie.
- Jeśli chcesz zmienić definicję kontenera za pomocą, powiedzmy, nowych woluminów lub portów, musisz ją usunąć i odtworzyć. Jeśli masz dane w kontenerze, stracisz je. (Zobacz to pytanie jako przykład tego przypadku).
- Union file system jest wolniejszy niż normalne systemy plików, co spowalnia twoją aplikację lub bazę danych.
Więc co powinieneś zrobić zamiast tego?
- Użyj kontenera tylko do danych, który można połączyć z dowolną instancją kontenera usług. Następnie możesz użyć woluminów-od, aby przenieść dane do kontenera usług.
- Użyj woluminu zamontowanego na hoście, aby ponownie uruchomić kontenery i zamontować tę samą lokalizację w nowych kontenerach.