#amazon-web-services #docker #localstack
#amazon-веб-сервисы #docker #localstack
Вопрос:
Моя команда пытается получить локальную настройку для нашего проекта. Мы запускаем тот же самый файл docker-compose с изображением localstack/localstack:0.8.10
. Мы запускаем один и тот же сценарий оболочки. Наш сценарий выглядит примерно так…
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, но они используют тот же образ, что и мы.
Есть какие-нибудь идеи??
Ответ №1:
Это известная проблема. Вам нужно добавить в 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 к обоим свойствам!!! Вам нужно выбрать другое имя. Я ввел localstack для hostname и HOSTNAME_EXTERNAL, и это работает для меня