搜尋

首頁  >  問答  >  主體

coreos - docker的宿主系統是centos,為什麼可以運行ubuntu的映像呢?

請問:

如果docker的宿主系统是centos,为什么可以运行ubuntu的镜像呢?
看了docker的介绍后,俺的理解是:镜像系统复用了宿主系统, ubuntu和centos在很多地方还是有很大区别的,

如果宿主系统是centos6.0,镜像系统也是centos6.0, 感觉就很好理解了。

求高人解答!感谢!
怪我咯怪我咯2760 天前596

全部回覆(2)我來回復

  • PHP中文网

    PHP中文网2017-04-24 09:15:25

    首先需要區分Linux內核Linux發行版

    • Linux核心是Linux作業系統的核心, 負責硬體管理, 例如管理記憶體、管理磁碟(檔案系統)、管理CPU(進程)等等...

    • Linux發行版是在Linux內核的基礎上添加了一些工具軟體,比如圖形介面、函數庫、軟體包管理系統等等...

    CentOS與Ubuntu是不同的Linux發行版, 它們都是基於Linux內核, 只是添加的工具軟體不同。例如, 他們的軟體包管理系統不同, CentOS使用yum指令安裝軟體, 而Ubuntu使用apt-get指令安裝軟體。

    因此CentOS與Ubuntu的核心是相同的(版本可能不同), 只是所安裝的軟體不同, 即檔案系統不同。

    Docker容器技術是基於Linux核心實現的, 它主要用到了兩個核心模組:

    • Namespace: 用於容器的隔離, 例如PID Namespace使得容器中的程序無法感知宿主機器以及其他容器中的進程。

    • Cgroups: 用於容器的資源控制, 例如限制容器所使用的記憶體大小或CPU個數。

    在CentOS上運行基於Ubuntu鏡像的容器時, 容器使用了CentOS主機的核心以及Ubuntu鏡像, Ubuntu鏡像中安裝了Ubuntu的各種軟體(apt-get)。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-24 09:15:25

    重複使用的linux核心的一些東西,而centos和ubuntu是基於linux核心開發的

    回覆
    0
  • 取消回覆