使用 terraform 启动 2 个容器。 Caddy 容器运行良好,但 Seq 容器只会运行几秒钟,然后陷入“等待”和终止状态。如果我将 Seq 更改为另一个图像(例如 Rabbit MQ),它可以正常工作。我应该将 Seq 图像放入哪个端口?
这是我的 seq 容器的 terraform 设置:
container {
name = "seq-aci-container"
image = "datalust/seq:latest"
cpu = "1"
memory = "1"
ports {
port = 5341
protocol = "TCP"
}
volume {
name = "seq-aci-data"
mount_path = "/data"
storage_account_name = "seqacistorage"
storage_account_key = "<QUnGu7Iz+4R...c728qLY7+AStEEElJg==>"
share_name = "seq-aci-data"
}
environment_variables = {
"ACCEPT_EULA" = "Y"
"SEQ_API_CANONICALURI" = "http://seq-aci-dns.eastus.azurecontainer.io/"
}
}
根据您的 Terraform 配置,您已将 Seq 容器设置为公开端口 5341。这通常是 Seq 通过 HTTP 摄取的默认端口,因此它应该是正确的。但是,根据我的经验,还需要考虑其他一些因素来解决问题。
首先,检查 Seq 容器的日志以了解更多详细信息,例如“正在等待”或“已终止”状态以及相关的错误消息。
其次,Seq 作为日志服务器,可能会占用大量资源。根据您的工作负载要求,确保 Terraform 配置中指定的 CPU 和内存限制足够。您当前提到的值是 (
cpu = "1"
和 memory = "1"
)
(例如
ACCEPT_EULA
)之外,仔细检查 Terraform 配置中的环境变量是否有任何缺失的环境变量 如果 Seq 将数据存储在持久卷上,您可能需要环境变量来指定路径。例如,
SEQ_STORAGE_PATH
,然后 SEQ_LOG_LEVEL
用于 Seq 的内部日志记录。
environment_variables = {
"ACCEPT_EULA" = "Y"
"SEQ_API_CANONICALURI" = "http://seq-aci-dns.eastus.azurecontainer.io/"
// Add additional environment variables below
"SEQ_STORAGE_PATH" = "/path/to/seq/storage" // Replace with the actual storage path, if different from default
"SEQ_LOG_LEVEL" = "Information" // Adjust the log level as needed
// Include other environment variables here as necessary
}
参考文档: 序列设置