DynamoDB LocalのDockerイメージを触ってみる

つい先日の8月22日に、Amazonから公式にDynamoDBのDockerイメージが公開されました。

ちょうどDynamoDB Localを利用していたところだったので、早速試してみました。

とりあえず立ち上げる

jarで配布されていたものと同じようですね。
DynamoDB ローカル (ダウンロード可能バージョン) のセットアップ - Amazon DynamoDB

オプションを使用したい

とりあえず開発時のテストのため、データを永続化したいです。
jar版では起動時の引数で設定することができましたが、Dockerイメージにおいても引数を渡せれば設定できるはずです。

Dockerfileは見当たらないので、とりあえずinspectしてみます。

  • Entrypoint: java
  • Cmd: -jar DynamoDBLocal.jar -inMemory

となっていますので、docker runの際に javaのオプションとなる部分をすべて指定することで設定を変えられそうです。

データを永続化する

デフォルトではinMemoryで起動するので、コンテナを終了した場合にはデータも消えてしまいます。クリーンな環境でテストを行うような場合にはそれでもかまいませんが、普段の開発中にはテーブル作成やデータの準備などを毎回行いたくはありませんので、データを永続化しておいたほうが楽なこともあります。

dbPathでパスを指定することができるようになったので、Volumeを指定するようにします。

  • ホスト側: ~/dynamodb-data
  • コンテナ側: /home/dynamodblocal/data

ひとまずフォアグラウンドで起動します。

別のターミナルからawsコマンドを使用し、テーブルを作成してみます。

一覧で取得できるか確認します。

データの保存先に指定した場所を確認してみます。

この中にデータが入ってそうですね。

まとめ

簡単ですがDockerイメージでのDynamoDB Localの動作確認ができました。

Javaを普段から使用している方にとってはjar版の方がてっとり早い気がします。
Java以外の言語を使っていてる人にとっては、Javaの環境を用意しなくても動作ができるのは楽になったのではないかと思います。

必要に応じて、うまく活用したいですね。

Comments are closed, but you can leave a trackback: Trackback URL.