求教, docker 能只关闭容器内的应用吗

2020-03-04 12:00:51 +08:00
 vemier

用 docker 起了一个 elasticsearch,结果这个 es 的 translog 文件坏了,修复需要先停止 es。

这个 es 的 pid 是 1,kill 后容器也停了。

有办法只停止 es 不退出容器吗

3322 次点击
所在节点    Docker
6 条回复
julyclyde
2020-03-04 14:03:13 +08:00
这不是要解决其他社会制度不存在的问题么
SkyYu822
2020-03-04 14:12:11 +08:00
pid namespace 本来就是容器的一个核心, 你的 es 进程在这个 namespace 里相当于 init 进程
xupefei
2020-03-04 14:26:43 +08:00
自己改 dockerfile,用一个死循环脚本运行 es
ETiV
2020-03-04 14:31:47 +08:00
docker cp,可以复制文件进、出容器,非运行中的也可以
所谓的“修复”,应该就是修改配置文件吧
vemier
2020-03-04 14:56:25 +08:00
@ETiV 需要使用 es 目录下的 bin/elasticsearch-shard 工具,会提示先停止 es 才能修复
mikeguan
2020-03-04 17:17:19 +08:00
docker 使用 systemd 守护进程,应该就可以单独停服务了,也就是让 pid 为 1 的进程是 systemd 守护进程

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/649717

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX