当前位置: 首页 > 知识库问答 >
问题:

如何在docker容器完成后保存它,以便下次继续使用它?

古畅
2023-03-14

在我退出外壳后,我在容器中所做的一切都丢失了。有没有可能让它将自己的状态保存到图像定义的环境之外?

简单的测试:在一个Dockerfile中写从ubuntu然后创建图像:

docker build -t test .

使用:docker image ls获取图像,然后创建并运行容器:

docker run -d -ti imageid /bin/bash

进入后,触摸/选择/测试。然后退出shell。有什么魔法可以让容器完成后再次看到测试文件,而不必触摸其图像?还是说容器的目的就是永远不要保存其状态超过其图像?

请注意,我希望避免挂载本地目录,我的问题不是如何保存容器处理的数据,而是在容器完成后,在其实际映像之外保存容器的文件系统。例如,如果您想使用开发容器来正确构建其映像,该怎么办?你开始在容器上工作,安装一些软件,做测试,然后你必须关闭它一段时间,然后“引导”回到它继续工作。。。

共有1个答案

林君博
2023-03-14

感谢@tgogos评论,我得到了docker ps-a的容器ID,然后:

$ docker start containerid
$ docker attach containerid

这里有更多信息:当容器退出时,我丢失了数据

 类似资料:
  • 问题内容: 考虑: 我按 + 退出。 我想继续运行此容器,但发现不能。 唯一的方法是 我对吗?有没有更好的方法?(我正在使用docker 0.8.0。) 问题答案: 您可以在现有容器退出后重新启动,并且所做的更改仍然存在。

  • 考虑: 我按下Ctrl键退出它。 我想继续运行这个容器,但我发现我不能。 唯一的方法就是 我说得对吗?有更好的方法吗?(我使用的是docker 0.8.0。)

  • 问题内容: 我过去一直在努力,今天一直在努力的事情是阻止API / AJAX继续进行,直到您收到响应为止。目前,我正在使用Facebook API。我需要从调用中获取响应,然后将其返回,但是正在发生的事情是,在我从未从API调用中获取响应之前,我的函数正在返回。我知道为什么会这样,我只是想不出如何预防!这是我的代码… // -----编辑 我注意到有人建议这样的事情… 但这返回未定义 //根据更新

  • 我是Docker的新人,我正在尝试创建/使用现有映像来启动我的应用程序。在阅读了几篇stackoverflow帖子和Docker文档后,我能够使用Docker容器启动我的应用程序。现在我正在寻找保存修改后的Docker容器的正确方法,以便我可以重用容器通过运行docker命令来启动我的应用程序。 我看到人们使用$docker提交来保存docker容器。如果我运行此命令,容器将保存在哪里?其他人可以

  • 我无法用redis数据库中的数据创建docker redis容器的图像。目前,我正在这样做: 很明显,我对一些基本的东西不太了解。docker commit不是从现有容器创建新映像吗? 好吧,我一直在挖掘。hub上的默认redis图像。docker使用一个数据卷,然后将其装入容器中的/data。为了在容器之间共享此卷,必须使用以下参数启动一个新容器: 请注意,参数的顺序很重要,否则docker r

  • 问题内容: 我有一个文件的InputStream,我使用apache poi组件像这样从中读取: 问题是我需要多次使用同一流,并且POIFSFileSystem在使用后会关闭流。 缓存来自输入流的数据,然后将更多输入流提供给不同的POIFSFileSystem的最佳方法是什么? 编辑1: 高速缓存是指存储供以后使用,而不是用来加速应用程序。将输入流读入数组或字符串,然后为每次使用创建输入流是否更好