sql >> Database >  >> RDS >> Mysql

MySQL Docker-container slaat geen gegevens op in nieuwe afbeelding

Als een ander antwoord en u hebt aangegeven dat volumes niet kunnen worden vastgelegd en onderliggende containers in feite volumedefinities van ouders erven. Daarom worden eventuele wijzigingen aan het volume genegeerd. Ik zou graag gegevens willen toevoegen, zoals mysql-databasebestanden, die om verschillende redenen altijd in volumes moeten zijn en u moet niet proberen deze in uw afbeelding vast te leggen.

  1. Als u containers moet migreren, is er geen gemakkelijke manier om gegevens uit containers te extraheren als deze zich niet in een volume bevinden.
  2. Als je meerdere containers wilt starten die gegevens delen, moet je gegevens in een volume hebben.
  3. Als u uw containerdefinitie wilt wijzigen met bijvoorbeeld nieuwe volumes of poorten, moet u deze verwijderen en opnieuw maken. Als u gegevens in de container heeft, raakt u deze kwijt. (Zie deze vraag voor een voorbeeld van dit geval.)
  4. Het Union-bestandssysteem is langzamer dan normale bestandssystemen, wat uw applicatie of database zal vertragen.

Dus wat moet je in plaats daarvan doen?

  1. Gebruik een data-only container die kan worden gekoppeld aan elke instantie van de servicecontainer. Vervolgens kunt u volumes-van gebruiken om uw gegevens in de servicecontainer te krijgen.
  2. Gebruik een door de host aangekoppeld volume zodat u containers opnieuw kunt opstarten en dezelfde locatie in nieuwe containers kunt koppelen.


  1. SQLException:Voor de start van de resultatenset

  2. Synchroniseer offline SQLite-database met online MySQL-database

  3. Opgeslagen procedures, MySQL en PHP

  4. Synchroniseer 2 tabellen van verschillende databases - MySQL