将数据提交到新映像后,Mysql docker容器中的数据是否丢失?
我从docker hub中提取了一个mysql基础映像,并从该映像运行了一个容器,在该容器中创建了一个数据库和一些表,并将更改提交到一个新映像。但是,当我运行新映像的容器时,没有我创建的数据库。如何做到这一点?我不想使用已装入的卷,因为我想将此容器与我的应用程序的另一个容器链接,以便它可以插入并更新到db中。我不知道您正在使用哪个映像,但我相信的每个Dockerfile都有以下命令:将数据提交到新映像后,Mysql docker容器中的数据是否丢失?,docker,docker-container,Docker,Docker Container,我从docker hub中提取了一个mysql基础映像,并从该映像运行了一个容器,在该容器中创建了一个数据库和一些表,并将更改提交到一个新映像。但是,当我运行新映像的容器时,没有我创建的数据库。如何做到这一点?我不想使用已装入的卷,因为我想将此容器与我的应用程序的另一个容器链接,以便它可以插入并更新到db中。我不知道您正在使用哪个映像,但我相信的每个Dockerfile都有以下命令: VOLUME /var/lib/mysql 这意味着所有mysql数据都将进入卷。他们从中特别提到: >
VOLUME /var/lib/mysql
这意味着所有mysql数据都将进入卷。他们从中特别提到:
> Changes to a data volume will not be included when you update an image.
这是您在新启动的容器中丢失数据的根本原因
关于你的问题:
如何做到这一点
您可以使用或创建一个mysql容器,然后使用选项-volumes from运行mysql容器。前面的链接包含如何做的分步指南
我不想使用已装入的卷,因为我想将此容器与我的应用程序的另一个容器链接,以便它可以插入并更新到数据库中
我不知道您对已装入的卷还有什么其他顾虑,但据我所知,使用已装入的卷并不会阻止您链接容器
希望这对您有所帮助。我不知道您正在使用哪个图像,但我相信的每个Dockerfile都有以下命令:
VOLUME /var/lib/mysql
这意味着所有mysql数据都将进入卷。他们从中特别提到:
> Changes to a data volume will not be included when you update an image.
这是您在新启动的容器中丢失数据的根本原因
关于你的问题:
如何做到这一点
您可以使用或创建一个mysql容器,然后使用选项-volumes from运行mysql容器。前面的链接包含如何做的分步指南
我不想使用已装入的卷,因为我想将此容器与我的应用程序的另一个容器链接,以便它可以插入并更新到数据库中
我不知道您对已装入的卷还有什么其他顾虑,但据我所知,使用已装入的卷并不会阻止您链接容器
希望这对你有帮助