Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据提交到新映像后,Mysql docker容器中的数据是否丢失?_Docker_Docker Container - Fatal编程技术网

将数据提交到新映像后,Mysql docker容器中的数据是否丢失?

将数据提交到新映像后,Mysql docker容器中的数据是否丢失?,docker,docker-container,Docker,Docker Container,我从docker hub中提取了一个mysql基础映像,并从该映像运行了一个容器,在该容器中创建了一个数据库和一些表,并将更改提交到一个新映像。但是,当我运行新映像的容器时,没有我创建的数据库。如何做到这一点?我不想使用已装入的卷,因为我想将此容器与我的应用程序的另一个容器链接,以便它可以插入并更新到db中。我不知道您正在使用哪个映像,但我相信的每个Dockerfile都有以下命令: VOLUME /var/lib/mysql 这意味着所有mysql数据都将进入卷。他们从中特别提到: >

我从docker hub中提取了一个mysql基础映像,并从该映像运行了一个容器,在该容器中创建了一个数据库和一些表,并将更改提交到一个新映像。但是,当我运行新映像的容器时,没有我创建的数据库。如何做到这一点?我不想使用已装入的卷,因为我想将此容器与我的应用程序的另一个容器链接,以便它可以插入并更新到db中。

我不知道您正在使用哪个映像,但我相信的每个Dockerfile都有以下命令:

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容器。前面的链接包含如何做的分步指南

我不想使用已装入的卷,因为我想将此容器与我的应用程序的另一个容器链接,以便它可以插入并更新到数据库中

我不知道您对已装入的卷还有什么其他顾虑,但据我所知,使用已装入的卷并不会阻止您链接容器

希望这对你有帮助