首頁  >  文章  >  運維  >  docker映像能跨平台運作嗎

docker映像能跨平台運作嗎

WBOY
WBOY原創
2022-03-08 14:58:236415瀏覽

docker映像能跨平台運作;只要係統架構一樣,是可以使用相同的映像的,x86的映像只能在x86系統使用,arm的映像只能在arm系統使用,docker映像對容器而言只是模擬了一個環境,​​與宿主機的關係不大。

docker映像能跨平台運作嗎

本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。

docker映像能跨平台運行嗎

docker映像和作業系統沒關係,docker最大的價值就是提出了鏡像打包技術。首先你的明白什麼是docker,什麼是鏡像,什麼是容器,然後你就能明白鏡像和作業系統之間的關係。 docker是一個引擎,是基於核心的一種技術。例如Linux內核,那麼它就在乎是不是Linux內核,它不關心你是Ubuntu還是CentOS。所以docker也實作了和作業系統的解耦。鏡像呢是把服務的運作環境打成了一個包,例如tomcat,鏡像裡面是把除作業系統的核心以外,然後再加上tomcat的二進位包。然後透過docker引擎建構出來一個tomcat的映像。容器呢,例如我們想創建一個tomcat服務,之前的方式是在伺服器中透過tar或是rpm安裝一個tomcat,然後在start tomcat;如果我們要安裝多台的話我們需要多次手動去操作部署。現在有了tomcat鏡像以後,我們可以直接利用鏡像創建出多個tomcat來(關係是一個tomcat鏡像可以創建出多個tomcat容器-即tomcat服務),把容器看成是tomcat的進程就行。

一個程式運行,需要作業系統的支持,並且需要存取自己的私有的資料和軟體。 docker是容器,它將所有的訪問檔案和作業系統的api重新定向了,讓應用程式內感覺自己在一個獨立的作業系統上運行,而docker攔截了api調用,並且把那些全局的對作業系統的訪問進行了包裝,使得程式不會真的訪問它們。因為docker程式存取的是容器包裝的api,理論上說,只要在另一個作業系統上實現了這些容器的api,就可以把程式移植上去,因為程式不直接和作業系統打交道,感覺不到不同系統的不同。

docker在各平台上的運行機制

LINUX:docker在linux上共享內核,無需虛擬化,完全支援native功能。所以只能建立linux類別docker。

Windows:docker在windows上,啟用Hyper-V或虛擬化技術(透過虛擬機器來實現,不共享windows核心)。可以建立linux類別docker和Windows類別docker。

Mac:docker在mac os上,同樣用虛擬化技術xhyve或virtualbox來實現,不共享mac os核心。只能建立linux類別docker,不能建立Mac OSX的docker。

只要係統架構一樣,是可以使用相同的鏡像的,例如x86的鏡像只能x86的系統使用,arm的鏡像只能arm系統使用。 docker映像對容器而言只是模擬了一個環境,​​跟宿主機沒有多大關係

推薦學習:《docker影片教學

以上是docker映像能跨平台運作嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn