Ehu*_*Lev 13 amazon-s3 docker docker-compose localstack
我是 localstack 的新手,我复制了 docker-compose 示例。我确保将数据路径安装到我的机器中,并且我确实在主机 tmp 文件夹中看到它,此外,我在调用 s3 写入命令时看到我的数据被附加,但是在我杀死 docker-compose 并从头开始启动它之后,我看不到上一会话的数据。我需要添加一个特殊标志来重新加载数据吗?
docker-compose 文件:
version: '3.0'
services:
localstack:
image: localstack/localstack:latest
environment:
- AWS_DEFAULT_REGION=us-east-1
- EDGE_PORT=4566
- SERVICES=sqs,sns,s3
- DATA_DIR=/tmp/localstack/data
ports:
- '4566-4583:4566-4583'
volumes:
- "/tmp/localstack:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
Run Code Online (Sandbox Code Playgroud)
运行示例:
aws --endpoint-url=http://localhost:4566 s3 mb s3://bucket-test
aws --endpoint-url=http://localhost:4566 s3 cp myfile.png s3://bucket-test
#Now this command will return the file
aws --endpoint-url=http://localhost:4566 s3 ls s3://bucket-test
# But after I will kill the docker and run docker-compose up again I will see nothing
Run Code Online (Sandbox Code Playgroud)
小智 5
您的数据将通过运行删除docker-compose down。这将停止并删除您的容器:https ://docs.docker.com/compose/reference/down/
要停止容器而不删除卷,请运行:docker-compose stop
我能够通过添加“DATA_DIR”和以下卷来保留与 ssm 参数相关的数据:
- "/tmp/localstack:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
Run Code Online (Sandbox Code Playgroud)
我的 docker-compose.yml 文件如下所示:
version: '3.0'
services:
localstack:
build: ./localstack
container_name: localstack
environment:
- SERVICES=${LOCALSTACK_SERVICES:-ssm,cloudwatch,cloudformation}
- DATA_DIR=${LOCALSTACK_DATA_DIR:-/tmp/localstack/data}
- AWS_DEFAULT_REGION=us-west-2
- EDGE_PORT=4566
- LOCALSTACK_API_KEY=${LOCALSTACK_API_KEY}
volumes:
- ./localstack/bootstrap:/opt/bootstrap/
- ./data:/tmp/localstack
- "/var/run/docker.sock:/var/run/docker.sock"
ports:
- '4566:4566'
- '443:443'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12645 次 |
| 最近记录: |