Docker:在 MySQL 容器中提交数据
当尝试将数据提交到 MySQL 容器映像时,了解以下内容的影响非常重要:数据卷。
官方 MySQL Docker 镜像使用数据卷来存储其数据。虽然这允许在容器的生命周期之外保留数据,但这也意味着数据不包含在提交的映像中。
要将数据与 MySQL 一起提交到映像,请创建一个不带卷的自定义基础映像。例如,使用以下 Dockerfile 基于 MySQL 镜像创建一个新镜像:
FROM mysql:latest RUN rm -rf /var/lib/mysql/ CMD ["mysqld"]
然后,构建自定义镜像:
docker build -t my-custom-mysql-image .
使用此自定义基础镜像,您可以像以前一样创建容器并导入数据:
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_psat1 < /mnt/liferay_sql_dump.sql
现在,当您将容器作为新镜像提交时:
docker commit -m "Imported liferay sql dump" my-mysql-container my-custom-mysql-image:v1
导入的数据将包含在提交的镜像中并且在使用该映像启动新容器时可用。
以上是如何在 MySQL Docker 容器中提交数据并保存它的详细内容。更多信息请关注PHP中文网其他相关文章!