我正在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方面的经验有限,所以如果有人可以帮助我,我将不胜感激。
为了使Seq的内存管理有效运行,需要将--memory
和--memory-swap
都传递给docker run
命令。通常,这些值应具有相同的值(即无交换)。
docker run --memory=4g --memory-swap=4g <other args> datalust/seq