【问题标题】:Deploying dockerized apps on Spring Cloud Data Flow server在 Spring Cloud Data Flow 服务器上部署 dockerized 应用程序
【发布时间】:2018-04-04 12:32:39
【问题描述】:

阅读documentation,它说:

根据运行时的不同,可以通过两种方式打包应用程序:

Spring Boot uber-jar that is hosted in a maven repository, file, or HTTP(S).

Docker image.

所以我制作了一个运行 hello-world python 程序的 docker 映像,并将其注册到本地 SCDF 服务器上。

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 来运行任何 dockerized 应用程序,或者它只支持 Spring Boot (java)?

PS:我的Dockerfile

FROM python:3.4-alpine
ADD . /code
WORKDIR /code
CMD python app.py

【问题讨论】:

  • 我发现如果我想启动 dockers,我应该使用本机服务器(而不是我使用的 docker 镜像)github.com/spring-cloud/spring-cloud-deployer-local/issues/61
  • 我现在可以启动任务,但这是生成docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"--spring.cloud.task.executionid=3\": executable file not found in $PATH": unknown.的stderr.log错误

标签: docker spring-cloud-dataflow spring-cloud-task


【解决方案1】:

在 SCDF 的本地、cf 和 k8s 服务器实现中支持 Docker 解析。但是,每个服务器变体都有一种在运行时向应用程序提供 env-vars 的特定方式。例如,请参阅 Kubernetes-server 文档。

至于应用程序类型,今天的 SCDF 编排 Spring Boot 应用程序。 SCDF 无法原生解释其他类型的工作负载。

也就是说,如果您打算使用 python 进行流处理,我们提供了一种机制来通过python-processor 应用程序运行 Python 脚本,并且在运行时,它会从容器内调用脚本。查看示例here

对于 Tasks,我们没有类似的应用程序,但它可能与 python-processor(s) 所做的相同,但使用 Spring Cloud Task 编程模型而不是 Spring Cloud Stream。也许您可以尝试一下并将其贡献回项目中。

【讨论】:

    【解决方案2】:

    调用 Python Docker 镜像的一种方法是创建一个 Java 处理器,并使用 DinD-java 作为基础镜像对其进行 dockerize。然后使用该处理器内部的 Docker API 来调用 Python Docker 映像。这在这里解释 - https://dzone.com/articles/how-to-run-any-dockerized-application-on-spring-cl

    【讨论】:

      猜你喜欢
      • 2019-10-02
      • 1970-01-01
      • 2018-06-24
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      相关资源
      最近更新 更多