如何使用卷在 dockerized DynamoDB 中持久化数据 [英] How to persist data in a dockerized DynamoDB using volumes
本文介绍了如何使用卷在 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屋!
查看全文