【发布时间】:2020-01-01 17:55:21
【问题描述】:
我正在 AWS EC2 实例上运行 Seq docker 映像。
为了将日志写入持久存储,我已将一个 EBS 卷附加到实例,并使用 rexray/ebs 插件从实例中安装它:docker plugin install rexray/ebs:latest REXRAY_PREEMPT=true EBS_REGION=eu-central-1a --grant-all-permissions EBS_ACCESSKEY=... EBS_SECRETKEY=...
docker volume create --driver rexray/ebs --name SeqData
然后指示 Seq 使用该卷:docker run -d --name seq -e ACCEPT_EULA=Y -v SeqData:/data -p 80:80 -p 5341:5341 datalust/seq:latest
Seq 运行良好一段时间(有时几个小时,有时几天),然后我注意到容器不再运行,AWS 控制台显示卷已分离。 AWS 日志显示实例启动了 DetachVolume 事件。
我在 AWS 控制台中手动重新附加卷,然后重新启动容器。 Seq 恢复其正常操作,然后在一段时间后该现象再次出现。
docker 日志没有给出任何提示。它仅显示 Seq 大约每 5 分钟记录一次其正常活动(保留、索引等) - 直到分离发生前大约 10 分钟。
我在 AWS 或 Docker 方面的经验有限,如果有人能帮助我,我将不胜感激。
【问题讨论】:
-
嗨,丹!您是否将
--memory=和--memory-swap=传递给docker run命令?这是 Seq 的资源管理正常工作所必需的,并且可能是导致此行为的原因。两个标志都需要指定,并且应该具有相同的值(例如4g)。 -
谢谢@NicholasBlumhardt!我现在正在尝试,希望几天后我会回复您报告一切都很好。顺便说一句,我在只有 1GB RAM 的 t2.micro 实例上运行。所以我显然不能按照你的例子分配4g。在这种情况下我应该分配多少(或者 1GB 太小)?
-
1 GB 太紧了,我个人没试过。 Seq 本身应该以低于 100 MB 的速度加载,但性能会参差不齐。 4 GB 通常是我推荐的最低要求; 3 GB 是 Windows 上的“官方”最小值。 HTH!
-
@NicholasBlumhardt 我们仍在开发中,所以我正在尝试使用免费计划中可以获得的内容。一旦我们开始生产,我会听取您的建议。无论如何,我的问题似乎已经解决了。您能否发表您的第一条评论作为答案,以便我接受?
-
完成;谢谢!我也会在文档中添加注释。
标签: docker serilog aws-ebs rexray seq-logging