spring-cloud-dataflow - Spring Cloud Data Flow java DSL:容器属性
问题描述
我有一个 SCDF 本地部署,我想在其中部署一个基于 docker 的自定义接收器。该接收器内部由一个 java 部分组成,该部分充当 SCDF 和另一位非 java 代码之间的转换包装器。
我需要能够控制
- 容器名称
- 实例数
- 安装到容器的卷
- 映射到容器的端口
- 传递给非java代码的环境变量
看着,LocalAppDeployer
似乎DockerCommandBuilder
我应该能够用类似的东西做(1)和(2)
HashMap<String,String> params = new HashMap<>();
params.put(AppDeployer.COUNT_PROPERTY_KEY,2);
params.put(AppDeployer.GROUP_PROPERTY_KEY,"foo");
Stream.builder(scdf)
.name("mystream")
.definition("file|bar")
.create()
.deploy(props);
我希望给我 2 个容器:我foo-bar-1
的foo-bar-2
问题是如何归档 (3)、(4) 和 (5)?
解决方案
对于将来的任何搜索:
TL;DR:使用deployer.<appName>.local.docker.volume-mounts
和deployer.<appName>s.local.docker.port-mappings
例如:
Map<String, String> properties = new HashMap<>();
properties.put(String.format("deployer.%s.local.docker.volume-mounts", "myApp"),"/tmp/foo:/bar");
properties.put(String.format("deployer.%s.local.docker.port-mappings", "myApp"),"9090:80");
Stream.builder(scdf).name("myStream").definition("time|log").create().deploy(properties)
见公关。感谢 SCDF 团队的帮助
推荐阅读
- swift - 在 Swift PlaygroundBook 中访问资源
- javascript - 哪个是与 d3 一起使用的用户友好的 csv 结构?
- javascript - 根据在指定行中选择的内容将数据单元格添加到工作表
- c++ - Cmake无法复制dll
- php - 比较 2 个数组并获取 PHP 中最接近 0 的值
- amazon-web-services - AWS EC2 导出实例任务状态
- openapi-generator - OpenApi Generator Client Timeout For typescript-angular
- microsoft-graph-api - OneNote API:有没有办法在给定的驱动器 ID 下创建笔记本
- python - 如何使用“scipy.signal.butter”函数进行低通滤波?
- javascript - 了解 Promise.all 和 Array.map()