如何解决当我们明确将 url 设置为 4576 时,localstack 尝试连接到 localhost:4566
我的团队正在尝试为我们的项目进行本地设置。我们正在使用图像 localstack/localstack:0.8.10
运行相同的 docker-compose 文件。我们正在运行相同的 shell 脚本。我们的脚本看起来像这样...
awslocal sns subscribe \
--topic-arn arn:aws:sns:us-east-1:123456789012:cx-clientcomm-traffic-controller-sent \
--protocol sqs \
--notification-endpoint http://localhost:4576/queue/cx-clientcomm-request-processor-queue
无论出于何种原因,两个开发人员都收到此错误。 Could not connect to the endpoint URL: http://localhost:4566
用于 SQS。
我知道此端口用于最新版本的 localstack,但它们运行的映像与我们相同。
有什么想法吗??
解决方法
这是已知问题。您需要在 docker-compose lockalstack 图像中添加下一个属性
HOSTNAME_EXTERNAL
主机名:localstack
所以原来的 docker-compose 看起来像:
localstack:
container_name: "${LOCALSTACK_DOCKER_NAME-localstack}"
image: localstack/localstack
hostname: localstack
networks:
- anynet
ports:
- "4566:4566"
environment:
- SERVICES=sqs,sns
- DEBUG=1
- DOCKER_HOST=unix:///var/run/docker.sock
- HOST_TMP_FOLDER=${TMPDIR}
- HOSTNAME_EXTERNAL=localstack
volumes:
- ./data:/tmp/localstack
- "/var/run/docker.sock:/var/run/docker.sock"
如果你把 localhost 放在两个属性上,它就不会工作!!!您需要选择另一个名称。我为主机名和 HOSTNAME_EXTERNAL 放置了 lockalstack,它对我有用
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。