【发布时间】:2018-02-21 08:19:07
【问题描述】:
这个问题有点概念化……
我启动一个服务,
Docker 在节点上为此服务运行容器,
我在这个容器上取得进展,
当某些点容器发生异常时,进入不可恢复状态...
此时,我无法手动管理一个或多个容器(要恢复它,例如停止 - 启动),因为 Swarm 是容器的管理器。
保持容器状态的最佳做法是什么?例如,有“docker container commit”,我是否应该找到在哪些节点上启动容器,找到它们的容器 id 并手动提交它们?我是否应该为此目的定义 cron 作业。否则,我不应该依赖 Docker 来开发此类应用程序吗?
提前致谢。
【问题讨论】:
-
你指的是什么样的状态?如果容器中的进程由于某种原因失败,那可能意味着它进入了错误状态,因此不清楚为什么要“保留”它。
-
@OliverCharlesworth 那么这是否意味着我应该在等待进入不良状态之前提交它?
-
你是什么状态?如果你的意思是像持久存储,你应该使用 Docker 卷,并假设容器本身是短暂的。
-
我正在尝试使用 gitlab、eclipse che 和其他一些应用程序/工具等应用程序的 docker 映像建立一个开发堆栈。当我创建新用户、工作区、项目等时,它们都会在我进行过程中触及不同文件夹中的不同文件,而这些我还没有探索过。我希望在 Docker Swarm 创建新容器时保留它们。
-
老实说,听起来卷是这里的方法 - 将持久性与运行时分开。
标签: docker containers dockerfile docker-swarm