Container image of DynamoDb Local which persists data to disk.
If this image is useful to you, please consider giving it a Star on GitHub and/or DockerHub
- This image persists to disk by default, whereas Amazon's container image of DynamoDb Local is in-memory and currently there is no option to configure it
- Continuously updated (everyday or few times a week) so that you always get latest version of DynamoDb Local
- About 80 MB smaller than Amazon's container image of DynamoDb Local
- Source code is available on GitHub. See Dockerfile.
- Persists data to
shared-local-instance.db. Data can be read/written again after container restarts and removal. - Uses sharedDb so that applications can access the data regardless of the region
- Listens on DynamoDb's default port 8000
# Assuming that your current folder ($PWD) is already shared with Docker Desktop
# If not, you can share it through Docker Desktop -> Preferences -> Resource -> File Sharing
docker pull kunalshah/dynamodb-local
docker run \
--rm \
-d \
-v $PWD:/data \
-p 8000:8000 \
--name dynamodb-local \
kunalshah/dynamodb-local
# Due to usage of --rm, container will be removed when it exits
# However, data will persist in $PWD/shared-local-instance.db#profile name from ~/.aws/credentials
export AWS_PROFILE=MyAWSProfile
aws dynamodb list-tables --endpoint-url http://localhost:8000
or
aws dynamodb list-tables --endpoint-url http://localhost:8000 --profile MyAWSProfile-
How to build and run this image locally
- See docker/build.sh to build the image
- See docker/run.sh to run the locally built image
-
How to run DynamoDb Local without Docker
- See local/download.sh to download DynamoDb Local
- See local/run.sh to run DynamoDb Local
-
Why this image is based on bitnami/java
bitnami/javais well maintained, uses CI/CD and it is continuously updated.When
bitnami/javapublishes new image (almost every day or week), new build ofkunalshah/dynamodb-localtriggers on DockerHub automatically.So you get latest version of
DynamoDb Localwhen you download this image.