关于在 AWS ECS 上部署 Discourse Docker 镜像的说明

您好,

我已经尝试在 ECS(AWS 中的容器服务)上运行 Discourse Docker 镜像超过一周了,因此想在此寻求建议。在独立的 EC2 服务器上尝试时,Discourse 运行正常。为此,我创建了独立的 PostgreSQL RDS 实例和 ElastiCache Redis 集群。

为了在 ECS 中部署,我将生成的镜像推送到 ECR 注册表。然后,我创建了一个任务来拉取该镜像。预期结果应该是运行 Discourse 容器(该容器在我的独立 EC2 服务器上可以正常运行,我也已停止那里的运行容器)。然而,我只收到了退出代码 1 的错误。

我还观察到 ./launcher start app 命令输出了大量的 “-e”,而这些参数在 app.yml 中已经存在。在 ECS 上是否还需要执行其他“运行”命令?

我阅读了以下内容,但可能只是遗漏了一个简单的要点:Can Discourse ship frequent Docker images that do not need to be bootstrapped?

谢谢!

首先:这是一个不受支持的安装方式。通常,如果你没有运行标准的 Docker 安装,就需要自行解决所有问题。

话虽如此,以下是我认为你需要了解的内容:

你需要将所有这些环境变量传递给你的 ECS 容器。你可以使用 ./launcher start-cmd 来查看这些信息。app.yml 仅用于构建镜像,这些变量并未嵌入到容器中。我相当确定,只要你能将这些环境变量正确传递给容器,就能达到你想要的效果。

我从未进行过 ECS 安装,但看起来我很快就要尝试了。我很乐意知道这是否可行。

你也在下面提出了同样的问题:Aws deployed discourse is fetching assets from database url - #18 by trying2survive

3 个赞