Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Kontener MySQL Docker nie zapisuje danych w nowym obrazie

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.

  1. 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.
  2. Jeśli chcesz uruchomić wiele kontenerów, które współdzielą dane, musisz mieć dane w wolumenie.
  3. 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).
  4. Union file system jest wolniejszy niż normalne systemy plików, co spowalnia twoją aplikację lub bazę danych.

Więc co powinieneś zrobić zamiast tego?

  1. 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.
  2. Użyj woluminu zamontowanego na hoście, aby ponownie uruchomić kontenery i zamontować tę samą lokalizację w nowych kontenerach.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zapisać do bazy danych wielu autorów w prostej tabeli książek?

  2. Dlaczego użycie IN(...) podczas wybierania pól indeksowanych zabije wydajność zapytania SELECT?

  3. Konwertuj znacznik czasu na datę w zapytaniu MySQL

  4. Sekcje pliku konfiguracyjnego Mysql

  5. mySQL MATCH w wielu tabelach