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目前不支持從私有存儲庫獲取圖像。 –

相關問題