Уточнения по развертыванию образа Docker Discourse в AWS ECS

Здравствуйте,

Я уже более недели пытаюсь запустить образ Docker Discourse в ECS (сервис контейнеров AWS), поэтому решил обратиться сюда за советом. На моем автономном сервере EC2 Discourse работает без проблем. Для этого я создал отдельный экземпляр PostgreSQL RDS и кластер ElastiCache для Redis.

Для развертывания в ECS я загрузил созданный образ в реестр ECR. Затем я создал задачу, которая извлекает этот образ. Ожидаемый результат — запуск контейнера Discourse (он работает на моем автономном сервере EC2, где я также остановил запущенный контейнер). Однако я получаю только ошибки с кодом выхода 1.

Я также заметил, что команда ./launcher start app выводит много “-e”, которые уже указаны в app.yml. Существуют ли какие-либо дополнительные команды “run”, которые необходимо выполнить в ECS?

Я прочитал эту тему, но, возможно, упускаю какой-то простой момент: Can Discourse ship frequent Docker images that do not need to be bootstrapped?

Спасибо!

Сначала: это неподдерживаемая установка. В большинстве случаев, если вы не используете стандартную установку Docker, вы остаетесь один на один с проблемой.

Но тем не менее, вот что, по моему мнению, вам нужно знать:

Вам нужно передать все эти переменные окружения (ENV) в ваши контейнеры ECS. Вы можете использовать ./launcher start-cmd, чтобы вывести эту информацию. Файл app.yml используется только для сборки образа. Эти переменные не встраиваются в контейнер. Я почти уверен, что если вы каким-либо образом передадите эти переменные окружения в ваш контейнер, всё заработает так, как вы хотите.

Я никогда не делал установку ECS, но похоже, что скоро мне придётся этим заняться. Буду рад узнать, получится ли у вас.

Вы также задавали тот же вопрос здесь: Aws deployed discourse is fetching assets from database url - #18 by trying2survive и получили тот же ответ. :wink: