#windows #amazon-web-services #docker #localstack
#Windows #amazon-веб-сервисы #docker #localstack
Вопрос:
У меня запущен localstack либо с помощью docker-compose, либо с помощью команды docker. Служба запускается
Docker создает файл
версия: ‘2.1’
services:
localstack:
container_name: "${LOCALSTACK_DOCKER_NAME-localstack_main}"
image: localstack/localstack
ports:
- "4566-4599:4566-4599"
- "${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
- HOST_TMP_FOLDER=${TMPDIR}
- DEBUG=1
volumes:
- "${TMPDIR:-/tmp/localstack}:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
Журнал
.
.
.
Running on 0.0.0.0:4583 over http (CTRL C to quit)
Running on 0.0.0.0:4587 over http (CTRL C to quit)
Running on 0.0.0.0:4585 over http (CTRL C to quit)
Waiting for all LocalStack services to be ready
2020-08-14T14:57:39:INFO:botocore.credentials: Found credentials in environment variables.
Ready.
Когда я запускаю команду, такую как aws --endpoint-url=http://localhost:4568 kinesis list-streams
в powershell / командной строке и т.д., Она выдает эту ошибку:
An error occurred (503) when calling the ListStreams operation (reached max retries: 4): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Temporarily Unavailable</title>
</head><body>
<h1>Service Temporarily Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>
Но если я использую WSL Ubuntu 18.04, запущенный на моем компьютере, он выдаст правильный вывод:
{
"StreamNames": []
}
Версии:
- localstack: 0.11.3.3
- awscli: aws-cli/1.18.119 Python /3.8.5 Windows /10 botocore /1.17.42
Мне не хватает какой-либо настройки для Windows для взаимодействия с конечными точками?
Комментарии:
1. Держу пари, что общий доступ к сокетам docker — это то, что не работает должным образом в Windows. Раньше это была функция только для Linux.
2. Я внес некоторые изменения из этого сообщения: gist.github.com/robfe/9a858b59f4d394ef5deb2517833e75c6 (также упоминается общий доступ к сокетам docker). По-прежнему безуспешно. Однако это отлично работает на ПК с Windows 10 Home (последняя сборка), так что, похоже, Windows в какой-то момент исправила это. Мой ноутбук, который я не могу обновить, хотя