在 docker 撰写文件中设置 localstack 资源导致连接中止失败
Setting up localstack resources in docker compose file results in connection aborted failure
我有一个 docker 撰写文件,如下所示:
version: "3"
services:
localstack:
image: localstack/localstack:latest
ports:
- "4567-4597:4567-4597"
- "${PORT_WEB_UI-8080}:${PORT_WEB_UI-8080}"
environment:
- SERVICES=s3
- DOCKER_HOST=unix:///var/run/docker.sock
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/private${TMPDIR}:/tmp/localstack"
networks:
- my_awesome_network
setup-resources:
image: mesosphere/aws-cli
volumes:
- ./dev_env:/project/dev_env
environment:
- AWS_ACCESS_KEY_ID=dummyaccess
- AWS_SECRET_ACCESS_KEY=dummysecret
- AWS_DEFAULT_REGION=us-east-1
entrypoint: /bin/sh -c
command: >
"
sleep 10;
# aws kinesis create-stream --endpoint-url=http://localstack:4568 --stream-name my_stream --shard-count 1;
aws --endpoint-url=http://localhost:4572 s3 mb s3://demo-bucket
"
networks:
- my_awesome_network
depends_on:
- localstack
networks:
my_awesome_network:
已从我找到的 this 博客 post 中复制,但是当我 运行 docker-compose up
时,存储桶无法创建并出现以下错误:('Connection aborted.', error(99, 'Address not available'))
这里有小细节但不应该aws --endpoint-url=http://localhost:4572 s3 mb s3://demo-bucket
应该是 aws --endpoint-url=http://localstack:4572 s3 mb s3://demo-bucket
,没错 localhost
变成了 localstack
我 运行 它做了一些小改动并且它工作正常,将 localhost 更改为 localstack
version: "3"
services:
localstack:
image: localstack/localstack:latest
ports:
- '4568-4576:4568-4576'
- '8055:8080'
environment:
- SERVICES=s3
- DOCKER_HOST=unix:///var/run/docker.sock
- DEFAULT_REGION=us-east-1
- DEBUG=1
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/private${TMPDIR}:/tmp/localstack"
networks:
- my_awesome_network
setup-resources:
image: mesosphere/aws-cli
volumes:
- ./dev_env:/project/dev_env
environment:
- AWS_ACCESS_KEY_ID=dummyaccess
- AWS_SECRET_ACCESS_KEY=dummysecret
- AWS_DEFAULT_REGION=us-east-1
entrypoint: /bin/sh -c
command: >
"
sleep 10;
aws --endpoint-url=http://localstack:4572 s3 mb s3://demo-bucket
"
networks:
- my_awesome_network
depends_on:
- localstack
networks:
my_awesome_network:
从版本 0.11.0 开始,
所有 API 都通过单一边缘服务公开,
可在
上访问
http://localhost:4566 by default
和EDGE_PORT=4566.
发现于此
Article
我有一个 docker 撰写文件,如下所示:
version: "3"
services:
localstack:
image: localstack/localstack:latest
ports:
- "4567-4597:4567-4597"
- "${PORT_WEB_UI-8080}:${PORT_WEB_UI-8080}"
environment:
- SERVICES=s3
- DOCKER_HOST=unix:///var/run/docker.sock
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/private${TMPDIR}:/tmp/localstack"
networks:
- my_awesome_network
setup-resources:
image: mesosphere/aws-cli
volumes:
- ./dev_env:/project/dev_env
environment:
- AWS_ACCESS_KEY_ID=dummyaccess
- AWS_SECRET_ACCESS_KEY=dummysecret
- AWS_DEFAULT_REGION=us-east-1
entrypoint: /bin/sh -c
command: >
"
sleep 10;
# aws kinesis create-stream --endpoint-url=http://localstack:4568 --stream-name my_stream --shard-count 1;
aws --endpoint-url=http://localhost:4572 s3 mb s3://demo-bucket
"
networks:
- my_awesome_network
depends_on:
- localstack
networks:
my_awesome_network:
已从我找到的 this 博客 post 中复制,但是当我 运行 docker-compose up
时,存储桶无法创建并出现以下错误:('Connection aborted.', error(99, 'Address not available'))
这里有小细节但不应该aws --endpoint-url=http://localhost:4572 s3 mb s3://demo-bucket
应该是 aws --endpoint-url=http://localstack:4572 s3 mb s3://demo-bucket
,没错 localhost
变成了 localstack
我 运行 它做了一些小改动并且它工作正常,将 localhost 更改为 localstack
version: "3"
services:
localstack:
image: localstack/localstack:latest
ports:
- '4568-4576:4568-4576'
- '8055:8080'
environment:
- SERVICES=s3
- DOCKER_HOST=unix:///var/run/docker.sock
- DEFAULT_REGION=us-east-1
- DEBUG=1
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/private${TMPDIR}:/tmp/localstack"
networks:
- my_awesome_network
setup-resources:
image: mesosphere/aws-cli
volumes:
- ./dev_env:/project/dev_env
environment:
- AWS_ACCESS_KEY_ID=dummyaccess
- AWS_SECRET_ACCESS_KEY=dummysecret
- AWS_DEFAULT_REGION=us-east-1
entrypoint: /bin/sh -c
command: >
"
sleep 10;
aws --endpoint-url=http://localstack:4572 s3 mb s3://demo-bucket
"
networks:
- my_awesome_network
depends_on:
- localstack
networks:
my_awesome_network:
从版本 0.11.0 开始, 所有 API 都通过单一边缘服务公开, 可在
上访问http://localhost:4566 by default
和EDGE_PORT=4566.
发现于此 Article