我拉了一个MySQL docker(最新)&在运行它之后,我试图在添加一些Data&之后提交我的容器。新架构&这个mysql docker实例中的表。
参考我正在关注此链接 - > http://www.servermom.org/pull-docker-images-run-docker-containers/3225/
但即使在尝试多种变化后,我也无法实现我想要的目标。所以我正在做的是在我的容器中添加新表和架构之后我正在提交&如链接中所述,推送到Docker中心。
之后我删除删除第一张拉图像,因为我已将新数据添加到容器并作为具有不同标签的新图像提交..我正在删除第一张拉图像。 (我这样做的原因是因为我可以说如果我正在更换我的机器,当我对我提交的图像进行码头工作时,我可以保持我的数据完好无损)
就像git如果我提交&推,并说让我的机器坏了所以在新机器我只需要做一个git拉,我会得到一切没有任何损失。所以我无法理解为什么docker没有保存更改
答案 0 :(得分:0)
mysql图像的数据存储在卷中。这意味着该卷内的文件不是映像的一部分,而是存储在主机上并分配给一个或多个正在运行的容器。
为了达到你想要的目的,我看到了2个选项:
1)构建一个自定义的mysql映像,在其中更改卷外部的mysql存储路径(或者只创建一个没有卷的新mysql映像)。
2)您可以使用自定义运行脚本/入口点扩展映像并在容器启动时包含架构修改命令
以下是有关卷的文档页面:https://docs.docker.com/engine/admin/volumes/volumes/