如何在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或者重新启动,容器的内容将被回滚到原来的状态,这意味着容器内部发生的所有变化在运行的时候都会消失。
您可以保存/导出编辑的图像或使用卷。