Spring 云数据流 java DSL:容器属性
Spring Cloud Data Flow java DSL: container properties
我有一个 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)
参见PR。感谢 SCDF 团队的帮助
我有一个 SCDF 本地部署,我想在其中部署一个基于 docker 的自定义接收器。这个接收器在内部由一个 java 部分组成,它充当 SCDF 和另一位非 java 代码之间的转换包装器。
我需要能够控制
- 容器名称
- 实例数
- 安装到容器的卷
- 映射到容器的端口
- 传递给非java代码的环境变量
看着 LocalAppDeployer
和 DockerCommandBuilder
看来我应该可以用
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)
参见PR。感谢 SCDF 团队的帮助