1

我有一个在Docker容器中运行的应用程序。是否可以在Cloud Foundry中部署包含应用程序的Docker容器,而不对应用程序或容器本身进行任何更改?在关键云代工厂运行Docker镜像

+0

设置,你有什么样的Cloud Foundry的?你是否使用托管的CF,从开源代码部署你自己的?根据你在下面的答案中的评论,听起来你可能会暴露多个端口,这是真的吗?或者在同一个端口上显示为不同URL路径的多个端点? –

+0

我们在我们的内部服务器上有一个PCF的私有实例。是的,我正在谈论的端口实例公开了端口8080上的servlet端点。这些是在同一端口上运行的多个端点。 –

回答

3

要回答您是否需要更改Docker镜像的具体问题,请参阅相关信息。

  • 当前还没有安装卷或容器连接不支持,但项目来支持这些用例都积极在飞行中,因此,如果您的工作流程docker run通常牵涉到你将不得不等待。
  • 只支持v2 Docker注册表,因此如果您的映像存储库位于具有较旧API的Docker注册表中,则它将无法工作。
  • 不支持专用存储库(即需要用户名和密码访问注册表中图像的存储库)。但是,您可以提供自己的自定义注册表,并使其仅供CF后端访问,然后将该图像作为公共回购站推送到该自定义注册表。

(从official CF docs siteDiego design notes过滤信息)

1

由于在Cloud Foundry的documentation讨论,你应该先使用以下命令启用diego_docker功能标志:

cf enable-feature-flag diego_docker 

然后才能把你的泊坞窗图像使用cf push。版本号6.13.0及更高版本的CF CLI包括对将Docker映像推送为CF应用程序的本地支持,其中cf push命令的-o--docker-image标志。例如,运行:

cf push lattice-app -o cloudfoundry/lattice-app 

将推动位于cloudfoundry/lattice-app的图像。您还可以阅读here以获取有关CF + Diego中Docker支持的更多信息。

+0

谢谢阿里!这是否意味着我不必对应用程序进行更改?该应用程序有多个servlet端点。 –

+0

您的容器不需要更改,但是您应该将容器上传到公共码头注册表,因为diego目前不支持从私有存储库获取图像。 –

相关问题