如何在boot2docker中保留更改

我对Docker相当陌生,并且偶然发现了一个我一直无法找出解决scheme的问题。

我在Mac上,所以我必须使用Boot2Docker作为我的环境。 我使用boot2docker ssh在虚拟机内部完成所有工作,尽可能地模拟“真实”情况。

我的问题是,只要我用boot2dockerclosuresboot2docker,或者停止我所有的更改…我怎样才能坚持我的编辑?

我所做的是创build一些目录,例如/ opt / sites,并将一些代码添加到.profile中。 当我再次启动boot2docker时,所有的都消失了。

我已经试图把所有/用户…作为boot2docker 1.3和向上自动安装该位置,但后来我遇到问题使用 – 卷上的一些容器(更具体的MySQL容器…)

我想我可以解决数据存储问题(–volumes问题),但是我把PATH和其他环境variables的定义放在哪里?

我可能误解了一些东西,请把它指向正确的方向;-)

在对boot2docker映像进行更改后,运行“boot2docker save”命令。 重新启动boot2docker后,您应该会看到您的更改仍然存在。

如果您使用Docker Toolbox ,则使用boot2docker docker-machine而不是boot2docker 。 不幸的是没有相当于boot2docker save docker-machine boot2docker save ,如从Boot2Docker迁移到Docker Machine所述 。

相反,您应该在boot2docker虚拟机内使用/var/lib/boot2docker/profile文件来保存每次boot2docker虚拟机重新启动时运行的初始脚本。 在这个github问题看到更多。

Docker容器是无状态的。 如果一个容器被closures或者重新启动,容器的内容将被回滚到原来的状态,这意味着容器内部发生的所有变化在运行的时候都会消失。

您可以保存/导出编辑的图像或使用卷。