Docker 将Seq日志持久化到EBS卷-该卷保持分离

Docker 将Seq日志持久化到EBS卷-该卷保持分离,docker,serilog,aws-ebs,rexray,seq-logging,Docker,Serilog,Aws Ebs,Rexray,Seq Logging,我正在AWS EC2实例上运行Seq docker映像 为了将日志写入持久性存储,我将一个EBS卷附加到实例上,并使用rexray/EBS插件从实例中装入它: docker plugin install rexray/ebs:latest rexray_PREEMPT=true ebs_REGION=eu-central-1a——授予所有权限ebs_ACCESSKEY=。。。EBS_SECRETKEY=… docker卷创建--驱动程序rexray/ebs--名称SeqData 然后指示Seq使

我正在AWS EC2实例上运行Seq docker映像

为了将日志写入持久性存储,我将一个EBS卷附加到实例上,并使用rexray/EBS插件从实例中装入它:
docker plugin install rexray/ebs:latest rexray_PREEMPT=true ebs_REGION=eu-central-1a——授予所有权限ebs_ACCESSKEY=。。。EBS_SECRETKEY=…

docker卷创建--驱动程序rexray/ebs--名称SeqData

然后指示Seq使用该卷:
docker run-d--name seq-e ACCEPT_EULA=Y-v SeqData:/data-p80:80-p5341:5341 datalust/seq:latest

Seq正常运行了一段时间(有时几个小时,有时几天),然后我注意到容器不再运行,AWS控制台显示卷已分离。AWS日志显示实例启动了DetachVolume事件

我在AWS控制台中手动重新连接卷,然后重新启动容器。Seq恢复其正常运行,然后在一段时间后该现象再次出现

docker日志没有给出任何提示。它只是显示Seq大约每5分钟记录一次其正常活动(保留、索引等)——直到分离发生前大约10分钟


我在AWS或Docker方面的经验有限,因此如果有人能帮助我,我将不胜感激。

要使Seq的内存管理有效工作,需要将
--memory
--memory swap
传递给
Docker run
命令。通常,这些应具有相同的值(即无交换)

docker run--memory=4g--memory swap=4g datalust/seq

你好,丹!您是否将
--memory=
--memory swap=
传递给
docker run
命令?这是Seq的资源管理正常工作所必需的,可能是导致这种行为的原因之一。两个标志都需要指定,并且应该具有相同的值(例如
4g
)。谢谢@NicholasBlumhardt!我现在正在尝试,希望我能在几天后回复你,告诉你一切都很好。顺便说一句,我在一个只有1GB内存的t2.micro实例上运行。所以我显然不能按照你的例子分配4g。在这种情况下我应该分配多少(或者1GB太小)?1GB很紧,我个人还没有尝试过。Seq本身的负载应该在100MB以下,但性能将是不稳定的。4 GB通常是我建议的最小值;3 GB是Windows上的“官方”最低要求。嗯@NicholasBlumhardt我们仍在开发中,所以我正试图通过一个免费计划来满足我的需求。一旦我们开始生产,我会听从你的建议。无论如何,我的问题似乎已经解决了。你能不能把你的第一条评论作为回答,这样我就可以接受了;谢谢我也会在文档中添加注释。
docker run --memory=4g --memory-swap=4g <other args> datalust/seq