Oi, Andrew!
Você está correto em sua observação. Quando você utiliza um container Docker para rodar um banco de dados como o MySQL, os dados armazenados dentro do container não são persistidos por padrão. Isso significa que se o container for removido ou reiniciado, todos os dados serão perdidos.
Para resolver esse problema, você pode usar volumes do Docker. Volumes permitem que você armazene dados fora do container, em um local no host, garantindo que os dados sejam persistidos mesmo que o container seja removido ou reiniciado.
Aqui está um exemplo prático de como você pode fazer isso:
Criar um volume Docker:
docker volume create meu_volume_mysql
Rodar o container MySQL utilizando o volume:
docker run -d \
--name meu_mysql \
-e MYSQL_ROOT_PASSWORD=minhasenha \
-v meu_volume_mysql:/var/lib/mysql \
mysql:latest
Neste exemplo, o volume meu_volume_mysql
está sendo montado no diretório /var/lib/mysql
dentro do container, que é onde o MySQL armazena seus dados. Dessa forma, mesmo que o container seja removido, os dados permanecerão no volume e poderão ser reutilizados por um novo container.
Bons estudos!