docker - 更改 amazon/dynamodb-local 端口
问题描述
如何通过 Amazon Docker 映像更改 dynamodb 启动的端口?
根据this answer,-port
执行dynamodb java文件时可以使用该选项。
但是,当使用以下命令运行 docker 映像时:docker run -p 8000:8000 amazon/dynamodb-local
我没有指定 dynamodb 侦听的端口的选项,只有主机和容器之间连接的端口。
我是否必须制作自己的 Dockerfile,指定操作系统并安装 dynamodb 等等,这样我才能运行 java 命令并指定我的端口?
解决方案
您不需要重建图像。正在做
docker inspect amazon/dynamodb-local
表明入口点设置为
"Entrypoint": [
"java"
],
所以运行下面的命令会报错:
$ docker run -p 8001:8001 amazon/dynamodb-local -port 8001
Unrecognized option: -port
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
因为我们试图将-port参数传递给java但我们需要将它传递给DynamoDBLocal.jar。
一旦我们知道了这一点,我们就可以将 jar 添加到 docker run 并且以下工作:
$ docker run -p 8001:8001 amazon/dynamodb-local -jar DynamoDBLocal.jar -port 8001
Initializing DynamoDB Local with the following configuration:
Port: 8001
InMemory: false
DbPath: null
SharedDb: false
shouldDelayTransientStatuses: false
CorsParams: *
我会将它作为一个错误提出,但https://hub.docker.com/r/amazon/dynamodb-local/没有提到公共 github 存储库来提出这个问题。
推荐阅读
- asp.net - ASP.NET CORE 如何验证不需要的日期?
- flutter - Flutter 2.0 在运行 BigSur 的 Mac 上给出 pub get failed(server 不可用)
- node.js - 节点 sass 安装问题
- android - 如何更新 Firebase 数据库中子项的特定值
- c# - Azure EventHub:发送异步性能
- perl - 检查变量中是否存在美元符号
- python - 使用请求和套接字将数据从 python 传输到 nodejs
- logging - 如何在 FastApi 中获取响应异常
- python - 用 Python 从网站上抓取 zip 文件
- linux - 添加用户 RHEL ubi8/openjdk-8 Docker 映像失败