LoginSignup
18
12

More than 5 years have passed since last update.

Docker(Docker Compose)から DynamoDB Local を使う際にデータを永続化する

Last updated at Posted at 2018-11-09

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

参考

18
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
12