1. 程式人生 > >Docker技術發展路線中囊括了新技術

Docker技術發展路線中囊括了新技術

新一年,Docker技術路線圖中包含了Microsoft技術支援、開源編輯工具以及更新後的容器產品。
貌似Docker前兩年的發展步伐並沒有足夠快,因此,在2015年應用容器供應商開始準備釋出一款針對Linux顧客的開源編輯工具以及Microsoft Azure和Hyper-V的測試版編輯工具。Docker公司執行長Ben Golub說,該工具的釋出取得了很不錯的成果。他說:“我們從2013年就開始著手,截止2014年共有7000萬的下載量,從一個很棒的產品逐漸發展成為一個大型的生態系統,呈旋風式增長。”在本次SearchSOA訪問中,他向我們概述了Docker公司的技術路線。

作為一個分散式應用的開放平臺,Docker可以為開發人員和系統管理員提供哪些核心價值?

Ben Golub說:Docker不僅僅是描述了應用程式,而且還描述了其對所需執行軟體的所有依賴關係。如果你描述了容器內所需執行軟體的所有細節,並且將該容器轉移到另外一個新伺服器中,那麼,你不必擔憂其是否適配於該伺服器、依賴關係是否相配,所有問題都會得到解決。

今年Docker的技術發展路線包含哪些內容?

Golub說:我們是開源應用,因此,路線圖中實際上幾乎包含了所有技術。截止去年六月份,客戶可以在我們這免費獲得任何應用程式,將該應用程式放到Docker容器中,就可以在Linux伺服器中執行該應用程式(任何Linux應用程式都可以在Linux伺服器上執行)。

去年年末,我們宣佈了與Microsoft建立合作伙伴關係。我們與Microsoft合作的目的是要讓客戶可以在Windows和Docker介面下都可以使用Linux和Docker。這將是一個龐大的實施過程。
據我所知,可擴充套件性也在Docker路線圖中。
Golub說:我們打算從以前的在一個伺服器的容器中開發應用程式改變為可以跨多個不同伺服器在包含不同元件的容器中開發應用程式。事到如今,我們必須確保這些容器能與其他部分很好地配合,安全性、儲存功能良好,同時網路也要保持良好的狀態。

今年的Docker路線圖中為什麼提供管理和程式設計解決方案?

Golub說:我們想要幫助企業擴大Docker容器的容量。他們從最初的由幾十名開發人員在幾十個伺服器上開發幾十個容器,發展到如今,由幾千名開發人員在幾千個伺服器上開發成千上萬的容器。

通過Docker開放資源,程式設計過程發生了許多明顯的變化。其中包括叢集,例如Docker Swarm的叢集功能。Swarm向Docker容器的排程和執行工作中提供本地叢集。同樣,Docker Compose 幫助開發人員將不同的配件組合成一種應用程式,例如,當他們正在準備構建裝置讓其可以在Docker上執行時,其中包括網路和儲存模組。

你的開放API如何改進Docker向管理解決方案發展?
Golub:我們正在採取措施來定義更高水平的API,並邀請大量的來自於社群的人員,不僅幫助我們定義API,還構建他們自己的型別的外掛。這樣,如果你喜歡谷歌式的編排,你可以使用Kubernetes,如你喜歡Twitter式的,你可以使用Mesos等等。在網路和儲存方法也一樣。從商業的角度,我們採用了非常流行的Docker Hub服務,它是一個託管服務,可用於尋找、釋出、消費不同型別的容器,使之變得更加商業可用;這樣,你就會了解誰釋出了什麼,以及它的來源;給你希望執行的容器設定規則;如你認為哪個容器是無用的,或者有安全缺陷之類的問題,你就摧毀它。

Docker容器在Linux、Apache、MySQL和PHP的LAMP堆中如何發揮作用?
Golub說:比如說,我正在籌建一款LAMP應用程式,因此,就會需要L、A、M和P,無論我正在做哪一個模組。

有了Docker,我就能夠分享每一個伺服器上的L,或者稱其為Linux。但是,如果已經有三個LAMP應用程式在同一個伺服器中執行的話,那麼,我就不需要A、M和P了。我僅僅是把這三個模組應用到其他應用程式中即可。

Docker所做的事就是為開發人員排憂艱難。開發人員不用再擔心每個伺服器的樣子、伺服器的配置、執行的是哪一個版本的作業系統、是實際的作業系統還是虛擬作業系統、是屬於亞馬遜還是其他公司。他們只需要全身心地投入到應用程式中就行,這才是開發人員想要做的事情。

對於剛使用Docker容器和伺服器的公司來說,您有什麼意見及建議嗎?
Golub說:最好首先只邁一小步。Docker的好處之一就是,一天之內,一名開發者通過使用Docker就可以完成任務,而無需企業的其他開發人員幫忙,或者也不需要幾個月的時間去完成這個專案。開發人員一般也都會從簡單的開始入手,從無狀態的應用程式開始開發。起始於開發,經歷開發-開發測試-開發測試-構建,然後我們就會考慮將其轉移到產品中去。我認為,處理這件事正確的方法是,尋找一種演進的方法,從中獲取價值,那麼或多或少,事情就會有機地進行著,而並不是要做一個涉及到許多部門的大專案。這是一種反向思維。