Docker: Comprometendo dados em um contêiner MySQL
Ao tentar enviar dados para uma imagem de contêiner MySQL, é importante entender o impacto de volumes de dados.
A imagem oficial do MySQL Docker usa volumes de dados para armazenar seus dados. Embora isso permita a persistência dos dados além da vida útil de um contêiner, também significa que os dados não são incluídos na imagem confirmada.
Para enviar dados para uma imagem junto com o MySQL, crie uma imagem base personalizada sem volumes. Por exemplo, crie uma nova imagem baseada na imagem MySQL com o seguinte Dockerfile:
FROM mysql:latest RUN rm -rf /var/lib/mysql/ CMD ["mysqld"]
Em seguida, construa a imagem personalizada:
docker build -t my-custom-mysql-image .
Com esta imagem base personalizada, você pode criar contêineres e importar dados como você fez antes:
docker run --name my-mysql-container -e MYSQL_ROOT_PASSWORD=secret -d my-custom-mysql-image docker exec -it my-mysql-container bash mysql -uroot -psecret -e 'create database liferay_psat1;' mysql -uroot -psecret liferay_psat1Agora, quando você confirma o contêiner como uma nova imagem:
docker commit -m "Imported liferay sql dump" my-mysql-container my-custom-mysql-image:v1Os dados importados serão incluídos na imagem confirmada e estarão disponíveis ao iniciar novos contêineres com essa imagem.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3