How to persist data in a dockerized DynamoDB using volumes

余生颓废 提交于 2020-01-01 00:16:09

问题


My docker compose file has two containers and looks like this

  version: '3'

  services:
     dynamodb:
       image: amazon/dynamodb-local
       ports: 
         - '8000:8000'
       networks:
         - testnetwork

     audit-server:
         image: audit-dynamo
         environment:
         DYNAMO_URL: 'http://0.0.0.0:8000'
         command: node app.js
         ports: 
           - '3000:3000'
         depends_on: 
           - dynamodb
         # restart: always

         networks:
           - testnetwork

  networks:
    testnetwork:

My goal is to mount local data to some volume. currently losing data on docker-compose down


回答1:


So that image use by default in-memory dynamodb (what you can find by running docker inspect on that image)

"CMD [\"-jar\" \"DynamoDBLocal.jar\" \"-inMemory\"]"

So if you want to keep your data you need to do something like this in you docker-compose:

version: '3'

volumes: 
  dynamodb_data:

services:
  dynamodb:
    image: amazon/dynamodb-local
    command: -jar DynamoDBLocal.jar -sharedDb -dbPath /home/dynamodblocal/data/
    volumes:
     - dynamodb_data:/home/dynamodblocal/data


来源:https://stackoverflow.com/questions/52852473/how-to-persist-data-in-a-dockerized-dynamodb-using-volumes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!