【发布时间】:2022-06-16 01:18:20
【问题描述】:
所以我使用以下 .yaml 文件运行 sudo docker-compose up:
version: "3"
services:
localstack:
image: localstack/localstack:latest
ports:
- "4563-4599:4563-4599"
- "8080:8080"
environment:
- DOCKER_HOST=unix:///var/run/docker.sock
- SERVICES=s3,es,s3,ssm
- DEFAULT_REGION=us-east-1
- DATA_DIR=.localstack
- AWS_ENDPOINT=http://localstack:4566
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /tmp/localstack:/tmp/localstack
networks:
- my_localstack_network
networks:
my_localstack_network:
然后我创建了一个ES域:
aws es create-elasticsearch-domain --domain-name MyEsDomain --endpoint-url=http://localhost:4566
并获得以下输出:
{
"DomainStatus": {
"DomainId": "000000000000/MyEsDomain",
"DomainName": "MyEsDomain",
"ARN": "arn:aws:es:us-east-1:000000000000:domain/MyEsDomain",
"Created": true,
"Deleted": false,
"Endpoint": "MyEsDomain.us-east-1.es.localhost.localstack.cloud:4566",
"Processing": true,
"UpgradeProcessing": false,
"ElasticsearchVersion": "7.10",
"ElasticsearchClusterConfig": {
"InstanceType": "m3.medium.elasticsearch",
"InstanceCount": 1,
"DedicatedMasterEnabled": true,
"ZoneAwarenessEnabled": false,
"DedicatedMasterType": "m3.medium.elasticsearch",
"DedicatedMasterCount": 1,
"WarmEnabled": false
},
...
当我尝试通过端口 4571 访问 ES 服务器时,我收到“空回复”
curl localhost:4571
curl: (52) Empty reply from server
我也尝试访问端口 4566,然后返回 {"status": "running"}。
看起来 Elasticesearch 从未在我的机器上启动。
【问题讨论】:
-
Localstack 只是模拟 AWS API,它不会在您的本地主机上创建真正的 ES 集群。
-
看起来 docker image localstack/localstack:0.11.1 确实创建了 ES 集群。
标签: amazon-web-services elasticsearch localstack