我是Docker的新手,偶然发现了一个我无法找到任何解决方案的问题。
我使用的是Mac,所以我必须使用Boot2Docker作为我的环境。我在VM中使用boot2docker ssh执行所有操作,以尽可能模拟“真实”的情况。
我的问题是,一旦我用boot2docker关闭或停止boot2docker,我就会丢失所有的更改……如何持久化我的编辑?
我所做的是创建一些目录,例如/opt/sites,并向.profile添加了一些代码。当我再次启动boot2docker时,一切都消失了。
我试着把所有的东西都放在/Users上。因为boot2docker 1.3和更高版本会自动挂载该位置,但在某些容器(更具体地说是MySQL容器...)上使用--volumes时会遇到问题。
我想我可以解决数据存储(--卷问题),但是我应该把PATH和其他环境变量的定义放在哪里呢?
我可能误解了什么,所以请告诉我正确的方向;-)
发布于 2015-03-04 14:35:52
在对保存镜像进行更改后,运行“boot2docker boot2docker”命令。在重新启动boot2docker之后,您应该会看到更改仍然有效。
发布于 2016-05-04 20:56:57
如果您使用的是Docker Toolbox,则使用docker-machine而不是boot2docker。不幸的是,正如Migrate from Boot2Docker to Docker Machine中所述,docker-machine没有与boot2docker save等同的东西。
相反,您应该在boot2docker VM中使用/var/lib/boot2docker/profile文件来持久化每次boot2docker VM重新启动时运行的初始脚本。在this github issue中可以看到更多。
发布于 2015-01-15 07:40:45
Docker容器是无状态的。如果容器关闭或重新启动,容器的内容将回滚到其原始状态,这意味着在容器运行时发生的所有更改都将消失。
您可以保存/导出编辑后的图像,也可以使用卷。
https://stackoverflow.com/questions/27938193
复制相似问题