sql >> Databáze >  >> RDS >> Mysql

Kontejner MySQL Docker neukládá data do nového obrazu

Jako další odpověď a vy jste uvedli, že svazky nelze potvrdit a podřízené kontejnery ve skutečnosti dědí definice svazků od rodičů. Veškeré změny hlasitosti budou tedy vyřazeny. Chtěl bych přidat data, jako jsou databázové soubory mysql, které by měly být vždy ve svazcích z několika důvodů a neměli byste se je pokoušet odevzdat do svého obrazu.

  1. Pokud musíte migrovat kontejnery, neexistuje snadný způsob, jak extrahovat data z kontejnerů, pokud nejsou ve svazku.
  2. Pokud chcete spustit více kontejnerů, které sdílejí data, musíte mít data ve svazku.
  3. Pokud chcete změnit definici kontejneru řekněme novými svazky nebo porty, musíte je odstranit a znovu vytvořit. Pokud máte v kontejneru data, přijdete o ně. (Viz tato otázka pro příklad tohoto případu.)
  4. Systém souborů Union je pomalejší než normální systémy souborů, což zpomalí vaši aplikaci nebo databázi.

Co byste tedy měli dělat místo toho?

  1. Používejte kontejner pouze pro data, který lze propojit s libovolnou instancí kontejneru služby. Poté můžete pomocí volumes-from dostat svá data do servisního kontejneru.
  2. Použijte svazek připojený k hostiteli, abyste mohli restartovat kontejnery a připojit stejné umístění do nových kontejnerů.


  1. LEFT JOIN vs. LEFT OUTER JOIN v SQL Server

  2. Tabulka rodokmenu/rodokmenu z databáze

  3. SQL Server Management Studio (SSMS)

  4. Laravel Eloquent with()-> vrací hodnotu null