DynamoDBLocalというものをAmazonが配ってくれいているのですが、ちょっと扱いにくいのでDockerにしてしまいました。
https://github.com/narikei/dynamodb-local-docker
Dockerfileはこんなかんじで、
javaをインストールして、dynamodbをダウンロードして、それを動かしているだけです。
Dockerfile
FROM ubuntu:16.04
# apt-get install
RUN apt-get update
RUN apt-get install -y wget
RUN apt-get install -y openjdk-8-jdk
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
# get dynamodb
RUN mkdir /usr/local/dynamodb
RUN cd /usr/local/dynamodb && \
wget http://dynamodb-local.s3-website-us-west-2.amazonaws.com/dynamodb_local_latest.tar.gz && \
tar zxvf dynamodb_local_latest.tar.gz
# start
RUN mkdir /usr/local/dynamodb/db
CMD ["java", "-Djava.library.path=/usr/local/dynamodb/DynamoDBLocal_lib", "-jar", "/usr/local/dynamodb/DynamoDBLocal.jar", "-dbPath", "/usr/local/dynamodb/db"]
EXPOSE 8000
Dockerを起動
ローカルの8080
ポートで動作するようにします。
$ docker build -t dynamodb-local .
$ docker run -d -p 8080:8000 dynamodb-local
確認
疎通できればOK
$ aws dynamodb list-tables --endpoint-url http://localhost:8080
{
"TableNames": []
}