使用 localstack 和 docker-compose 自动创建 SQS 队列

问题描述

有没有什么办法可以通过 docker-compose.yml 使用 localstack 自动创建 SQS 队列?

我的 docker-compose.yml:

version: '3.8'
services:
  localstack:
    image: localstack/localstack
    ports:
      - "4566:4566"
      - "4571:4571"
      - "${PORT_WEB_UI-8080}:${PORT_WEB_UI-8080}"
    environment:
      - SERVICES=${SERVICES- }
      - DEBUG=${DEBUG- }
      - data_dir=${data_dir- }
      - PORT_WEB_UI=${PORT_WEB_UI- }
      - LAMBDA_EXECUTOR=${LAMBDA_EXECUTOR- }
      - KInesIS_ERROR_PROBABILITY=${KInesIS_ERROR_PROBABILITY- }
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - "${TMPDIR:-/tmp/localstack}:/tmp/localstack"

我想在启动 docker-compose 时创建一些队列,而不是手动创建。

解决方法

Localstack 目前没有任何东西可以在启动时自动执行此操作。 现在我建议:

  • 创建一个脚本来启动 docker-compose 并调用 aws cli 工具来创建您需要的主题。这需要在脚本中休眠:(
  • 构建一个基于 localstack 的镜像,它有一个额外的启动开始,你的额外设置内容