2018/11/15 更新
DynamoDB Local を実行するユーザにディレクトリへの書き込み権限が無いと正しく動かなったので修正。
2018年8月ごろ?(うろ覚え)にDynamoDB Local の公式 Docker イメージが利用できるようになった。
しかし、デフォルトでは -inMemory
オプションで起動されるため、コンテナを落とすとテーブル定義を含むデータがすべて消えてしまう。
代わりに -dbPath
オプションを指定して起動させることで、コンテナを落としてもデータを失わずに済む。
docker-compose.yml(一例)
version: "3"
services:
dynamodb:
build: ./dynamodb
volumes:
- dynamodb_data:/home/dynamodblocal/data
ports:
- 8000:8000
command: -jar DynamoDBLocal.jar -dbPath ./data
volumes:
dynamodb_data:
dynamodb/Dockerfile
FROM amazon/dynamodb-local
WORKDIR /home/dynamodblocal
# UID=1000 → DynamoDB Local の実行ユーザ
RUN mkdir data && chown -R 1000 data