如何使用卷在 dockerized DynamoDB 中持久化数据 [英] How to persist data in a dockerized DynamoDB using volumes

查看:14
本文介绍了如何使用卷在 dockerized DynamoDB 中持久化数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的 docker compose 文件有两个容器,看起来像这样

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:

我的目标是将本地数据挂载到某个卷上.目前在 docker-compose down 上丢失数据

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

推荐答案

所以这个镜像默认使用内存中的 dynamodb(你可以通过在那个镜像上运行 docker inspect 找到)

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

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

所以如果你想保留你的数据,你需要在你的 docker-compose 中做这样的事情:

So if you want to keep your data, you need to do something like this in your 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
    ports:
     - "8000:8000"

这篇关于如何使用卷在 dockerized DynamoDB 中持久化数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆