在 ACI 中运行 Seq datalust,并使用 Caddy 作为自动 https 的边车容器

问题描述 投票:0回答:1

使用 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/"
 
  }
  
}
azure sequence azure-container-instances caddy
1个回答
0
投票

根据您的 Terraform 配置,您已将 Seq 容器设置为公开端口 5341。这通常是 Seq 通过 HTTP 摄取的默认端口,因此它应该是正确的。但是,根据我的经验,还需要考虑其他一些因素来解决问题。

首先,检查 Seq 容器的日志以了解更多详细信息,例如“正在等待”或“已终止”状态以及相关的错误消息。

其次,Seq 作为日志服务器,可能会占用大量资源。根据您的工作负载要求,确保 Terraform 配置中指定的 CPU 和内存限制足够。您当前提到的值是 (

cpu = "1"
memory = "1"
)

最后,除了 SEQ_API_CANONICALURI

(例如 
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
  }

参考文档: 序列设置

© www.soinside.com 2019 - 2024. All rights reserved.