阅读documentation时,它说:
根据运行时的不同,应用程序可以通过两种方式打包:
Spring Boot uber-jar,托管在maven存储库、文件或HTTP(S)中。Docker镜像。
因此,我制作了一个docker映像,它运行hello-world SCDF python程序,并将其注册到本地服务器上。
app register --name hello-world --type task --uri docker:hello-world:latest
但当我尝试将其作为任务启动时,它失败了
task create --name helloTask --definition "hello-world"
task launch helloTask
Command failed org.springframework.cloud.dataflow.rest.client.DataFlowClientException: Exception trying to launch....resource = Docker Resource [docker:hello-world:latest]]
我是否需要另一个服务器环境?哪个?问题是,是否可以使用SCDF来运行任何停靠的应用程序,或者它只支持Spring Boot (java)?
PS:我的Dockerfile
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
CMD python app.py
发布于 2018-04-05 03:40:01
在SCDF的本地、cf和k8s服务器实现中支持Docker解析。但是,每个服务器变体都有一种在运行时向应用程序提供环境变量的特定方式。参见Kubernetes-server文档示例。
至于应用程序类型,SCDF现在编排了Spring Boot应用程序。SCDF本身不能解释其他类型的工作负载。
也就是说,如果您打算使用python进行流处理,我们提供了一种机制来通过python-processor应用程序运行Python脚本,并且在运行时,它将从容器中调用脚本。请参阅示例here。
对于具体的任务,我们没有类似的应用程序,但它可以与python处理器所做的相同,但使用Spring Cloud Task编程模型而不是Spring Cloud Stream。也许你可以试一试,然后把它贡献给项目。
发布于 2018-09-14 07:56:13
调用Python Docker镜像的一种方法是创建一个Java处理器,并使用DinD-java作为基础镜像对其进行docker化。然后在这个处理器内部使用Docker API来调用Python Docker镜像。这里解释了这一点- https://dzone.com/articles/how-to-run-any-dockerized-application-on-spring-cl
https://stackoverflow.com/questions/49651126
复制相似问题