DynamoDBを使用する場合、ローカル環境での開発用にAWSが公開しているDynamoDB localを使うことができます。

参考

docker-compose

docker-composeで使用する場合、以下のドキュメントを参考にします。

参考

例 docker-compose.yml

services:
  dynamodb-local:
    command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data"
    image: "amazon/dynamodb-local:latest"
    container_name: dynamodb-local
    ports:
      - "8000:8000"
    volumes:
      - "./docker/dynamodb:/home/dynamodblocal/data"
    working_dir: /home/dynamodblocal

aaronshaf/dynamodb-admin

DynamoDB-localのテーブル作成等をブラウザで行いたい場合、aaronshaf/dynamodb-admin を使う方法があります。

参考

docker-composeで使う場合、以下のような設定になります。

例 docker-compose.yml

  dynamodb-admin:
    image: aaronshaf/dynamodb-admin
    tty: true
    ports:
      - 8001:8001
    environment:
      DYNAMO_ENDPOINT: http://dynamodb-local:8000
環境変数 DYNAMO_ENDPOINTで接続先を指定します。 上記では、dynamodb-localのポート8000にアクセスするようになっています。

また、http://dynamodb-localは、docker-compose.yml のサービス名を指定しています。 これでアクセスできない場合は、以下のようにlocalhostで試してください。

http://localhost:8000

ブラウザで http://localhost:8001/ にアクセスして以下のような画面が表示されれば成功です。