Как создать DynamoDB (локальные) таблицы в контейнере Docker

#amazon-web-services #docker #amazon-dynamodb #amazon-dynamodb-local

#amazon-web-services #docker #amazon-dynamodb #amazon-dynamodb-local

Вопрос:

В настоящее время у меня есть Dynamodb-local, запущенный в контейнере Docker с использованием образа amazon / dynamodb-local.

Контейнер запускается, и я могу вручную создать необходимые таблицы с помощью AWS CLI.

Однако на данном этапе мне нужно, чтобы таблицы были созданы при первоначальном запуске контейнера.

Я надеялся получить мысли о наилучшем подходе к решению этой проблемы — я думаю, мне все равно нужно будет использовать AWS CLI для создания таблиц.

Если я использую dockerfile, насколько я понимаю, мне нужно будет создать образ, содержащий следующее: — Python (для использования PIP для установки AWS CLI) — PIP — AWS CLI — DynamoDB Local

Я мог бы также создать таблицы, а затем создать образ dynamodb-local в этот момент, чтобы использовать его в качестве базового образа, но это потребовало бы создания нового образа каждый раз, когда у меня была новая таблица.

Вместо этого я надеялся создать образ, когда мне нужно будет запустить базу данных и (используя AWS CLI) прочитать JSON-файлы для необходимых таблиц и создать таблицы.

Любые советы о том, как другие в настоящее время обрабатывают этот сценарий?

Спасибо.

Ответ №1:

Я расширил dynamodb-local с помощью пользовательского интерфейса для управления таблицами:

 docker run -p 8000:8000 -p 80:80 -v storage-volume:/storage -d  awspilotcom/dynamodb-ui
 

проверьте изображение dynamodb-ui docker, и вот демонстрация пользовательского интерфейса

он также поддерживает шаблоны cloudformation.

Ответ №2:

Для dynamodb можно использовать том docker или общую папку — локальную папку данных:

 docker run -p 8000:8000 -v my-volume:/dbstore amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb -dbPath /dbstore