2017-09-04 91 views
1

我們現在顯然可以將我們的asp.net核心應用部署到docker容器中。 我經歷了關於'如何做'的文檔,但我找不到一些關於'爲什麼要做'的正確解釋?Docker容器中的asp.net核心與Azure應用服務

任何人都可以解釋爲什麼會選擇將部署的asp.net核心應用程序部署到碼頭集裝箱而不是天藍色的應用程序服務?

+0

不確定我在這裏不能確定'太寬'的標誌。在'javascript疲勞','依賴地獄'等其他領域有這樣的東西的官方術語......在這裏我們可以談論'雲疲勞',其中有一個選項有很多,而且沒有清晰的解釋哪一個更好爲什麼。每個人都在談論可能做什麼(這很明確),但不是太在意爲什麼要做(或不是)。 –

回答

0

Docker並未消除將您的應用部署到雲提供商(如天藍色)的需求。雲提供商爲您提供部署應用程序的基礎架構或平臺。如果您沒有自己的服務器來部署應用程序,則無需使用泊塢窗即可。

由於Docker在應用程序和用於運行應用程序的計算機之間提供了很多隔離,因此Docker使您的應用程序的部署更具可預測性和更容易。

現在非常流行使用Docker和雲平臺部署應用程序。當你使用Docker的時候,人們會相信相同的應用程序映像將能夠在不同的平臺上運行,因此你將能夠在不需要修改你的應用程序的情況下在不同的提供者(甚至私人服務器)之間切換。

+0

是的,你的最後一段有一點。只是關於第一部分的免責聲明:當然您需要Docker的雲提供商,但我試圖將Azure AppService專門與Docker進行比較。選擇Docker vs AppService(來自Azure)的原因是什麼? –

+0

問題不在於使用雲底與容器化。它將一個Web應用程序容器化,然後將其部署到Azure上的PaaS服務(稱爲App Services)。 –

2

任何人都可以解釋爲什麼會選擇部署asp.net核心應用程序到docker容器而不是azure應用程序服務?

所有Azure Web App都在安全環境中運行,稱爲sandbox。沙箱機制旨在確保運行在機器上的每個應用程序都具有最低的服務保證水平;此外,沙箱實施的運行時限制可以保護應用程序免受可能在同一臺計算機上運行的其他資源密集型應用程序的不利影響。

由於所有Azure Web App都在相同類型的沙箱中運行。 Azure Web App提供與部署和監控Web應用程序相關的多種功能。例如日誌記錄,遠程調試,Kudu,站點擴展等。

由於所有Azure Web App都在相同類型的沙箱中運行,因此沙箱限制將影響您的Web應用程序。

General Sandbox Restrictions

如果其使用的Web應用程序API或函數不被沙盒限制,你可以選擇Azure的Web應用程序使用由Azure的Web應用程序提供的功能/工具。否則,你可以選擇dock容器。

+0

感謝您的回答!它肯定揭示了它的一些亮點。現在,我們是否可以更進一步,假設沒有沙箱限制會影響應用程序,您是否可以指出某些原因,當有人**應該**(而不是**可能**,因爲可以清楚)通過appservice支持dock容器?謝謝! –

+0

使用dock的原因是您可以對平臺環境進行更多的控制,並且環境中的每個docker都是相互隔離的。 Azure Web App通過遵循一系列會導致沙箱限制的約定來實現這些功能。 – Amor

2

支持docker image over app服務的明顯理由是可移植性。如果您想從Azure切換到其他雲平臺,您只需將預配置的Docker鏡像部署到其他平臺的容器管理服務中,並且只需在那裏工作,而如果您想將應用從應用服務移動到某些同等服務產品在其他一些雲平臺中,您需要花時間瞭解它的工作原理,然後在新的地方重新配置它。

相關問題