docker - 如何在没有 -inMemory 标志的 Docker 中运行 dynamodb-local
问题描述
根据文档,有 2 个标志会影响 dynamodb-local 的运行
-inMemory
-> 使所有数据仅保留在 RAM 中,当服务终止时 - 所有数据都被删除
-sharedDB
-> 将所有登录信息写入同一个共享文件
没有开关 -> 每个凭据登录都会将数据保存在不同的文件中 - 这是默认行为
但是,如果您查看docker.hub,您会发现在 docker 中运行 dynamodb-local 时的默认行为是带有-inMemory
标志。但我不想要它,我想要真正的默认行为。我怎样才能覆盖它?
解决方案
嗯,很难找到它,但这是一个非常简单的解决方案。
根据这篇很棒的帖子,我们可以轻松地覆盖[CMD]
docker pull image 的部分。
我们只需要在 docker run 之后添加 args。这是我使用的命令:
docker run -p 8000:8000 --name local-dynamodb amazon/dynamodb-local -jar DynamoDBLocal.jar
-p
用于定义要公开的端口,因此您的应用可以在端口 8000 上联系 dynamodb-local
--name
是为了给图像一个可读的名字
之后的所有内容amazon/dynamodb-local
都是覆盖部分,预定义的入口点是JAVA
,所以我们只需要添加-jar
开关,指定要运行的文件名,并省略那个邪恶的-inMemory
开关
祝大家好运!和快乐编码
推荐阅读
- magento2 - 在两个不同的模块上使用相同的插件名称会导致 Magento 2 出现问题?
- c# - 错误:将 varchar 数据类型转换为 smalldatetime 数据类型导致值超出范围
- reactjs - 如何使用 UTC 日期字符串作为图表轴并均匀分布
- pytorch - 使用 BERT 进行文本分类——如何处理拼写错误的单词
- postgresql - 如何从自定义格式转储中恢复 postgres 数据库?
- javascript - 两个相互抵消的事件监听器 - JS。为什么?
- symmetricds - 使用 SymmetricDS 动态更改表结构
- jupyter-notebook - 如何将 Jupyter 输出包装在自定义 HTML 中?
- c# - 使用 bytescout PDFExtractor C# 查找文本坐标
- python - 将数组显示为 .tif 文件中的图像,其值为 uint16