Windows和Linux容器異同大起底

在Windows和Linux系統上均可以運行Docker容器。Docker在兩種操作系統上的工作方式既有相似,又有不同。下面,我將介紹在Windows系統上安裝和運行Docker的步驟,並且指出它們與在Linux系統上運行Docker相比的相同之處和不同之處。

在Windows和Linux上安裝Docker

我們先從安裝開始。在這兩個操作系統上安裝Docker的過程是不同的。

在Windows上安裝Docker,就像安裝任何Windows應用程序一樣,你只需要下載該應用程序,點擊安裝便會彈出一個友好的用戶安裝嚮導:

相比之下,想要在Linux上安裝Docker,你可以從發行版的包管理器(如yum、dnf)中獲取Docker包,或者使用以下命令直接從Docker站點安裝:

Advertisements

sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"

在後台的Docker:Windows和Linux的區別

在Windows和Linux系統中安裝Docker的方法只有一個不同。在Linux系統上安裝Docker時,只需要安裝Docker引擎和管理工具,而不需要創建虛擬機或者虛擬網路,因為你的容器將會為你創建環境。

Docker在Windows系統上安裝是不同的。在安裝時,Docker會創建一個基於Linux的虛擬機,叫做MobyLinux虛擬機,這個虛擬機是基於Alpine Linux的。Docker應用程序會連接到此虛擬機,你便可以開始創建具有必要操作組件的容器了。

Advertisements

為了與本地網路和NAT(網路地址轉換)進行通信,在Docker安裝中會為虛擬機配置一個子網,以便你的容器在應用程序中使用。

因為所有這些步驟都發生在後台,身為用戶的你不必為這些步驟操心。不過,事實上Docker是在Windows後台運行虛擬機,這也是Docker在Windows和Linux的另外一個主要區別。

Docker命令

一旦你安裝了Docker,在Linux和Windows系統上命令都是一樣的。無論你運行哪種操作系統,你只需要學習一套工具。

運行Docker命令時,Windows和Linux的唯一區別在於你運行它們的位置。在Linux系統上,你可以使用你選擇的終端模擬器。在Windows系統上,使用PowerShell的CLI(命令行界面)。

下面是在Windows系統上的PowerShell里運行Docker的例子。第一個截圖顯示的是系統的信息,而第二個截圖顯示了一些在Windows系統上運行的容器。

Windows與Linux系統:哪個更適合Docker?

就我個人觀點而言,我發現在Linux操作Docker比在Windows操作更容易。儘管在Windows和Linux系統環境下Docker的功能並沒有什麼區別,但是Linux上的安裝過程要快一些(安裝apt-get比安裝Windows軟體包要快),而且在Linux上更容易訪問shell。

上面說的,僅僅只是我個人的偏好。從技術層面來講,在Windows和Linux系統上使用Docker並沒有什麼真正區別。你可以在這兩個平台上使用Docker實現相同的功能。所以不能講Windows或Linux對Docker的託管是「更好的」。

結論

事實上,Docker的優秀之處正是在於,並不存在所謂的哪個操作系統比另一個操作系統更適合它。不管Docker在哪裡運行(儘管有些配置以及後台運行的東西不盡相同),Docker的用戶體驗總是一樣的。不管你使用哪個操作系統,哪個特定的shell,也不管Docker環境是在雲端還是在本地運行,又或者外面是晴天還是雨天,一個docker run -d -p 80:80 nginx命令就可以啟動一個NGINX容器。

這種一致性使得Docker具有很強的可靠性,從而帶來極佳的用戶體驗。它可以幫助你避免配置「地獄」和環境的不可預測性,然而這些都是虛擬機和其它舊式基礎架構的重要組成部分。

Advertisements

你可能會喜歡