欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker初識之五分鐘認(rèn)識docker

 更新時間:2016年10月27日 09:34:32   投稿:mrr  
Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實現(xiàn)虛擬化。通過本文學(xué)習(xí)可以快速了解docker,本文介紹的非常不錯具有參考借鑒價值,感興趣的朋友一起看看吧

什么是docker?

Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。

把他想象成一個用了一種新穎方式實現(xiàn)的超輕量虛擬機(jī),在大概效果上也是正確的。當(dāng)然在實現(xiàn)的原理和應(yīng)用上還是和VM有巨大差別的,并且專業(yè)的叫法是應(yīng)用容器(Application Container)。

為啥要用docker?

那么應(yīng)用容器長什么樣子呢,一個做好的應(yīng)用容器長得就好像一個裝好了一組特定應(yīng)用的虛擬機(jī)一樣。比如我現(xiàn)在想用MySQL那我就找個裝好MySQL的容器,運行起來,那么我就可以使用 MySQL了。

那么我直接裝個 MySQL不就好了,何必還需要這個容器這么詭異的概念?話是這么說,可是你要真裝MySQL的話可能要再裝一堆依賴庫,根據(jù)你的操作系統(tǒng)平臺和版本進(jìn)行設(shè)置,有時候還要從源代碼編譯報出一堆莫名其妙的錯誤,可不是這么好裝。而且萬一你機(jī)器掛了,所有的東西都要重新來,可能還要把配置在重新弄一遍。但是有了容器,你就相當(dāng)于有了一個可以運行起來的虛擬機(jī),只要你能運行容器,MySQL的配置就全省了。而且一旦你想換臺機(jī)器,直接把這個容器端起來,再放到另一個機(jī)器就好了。硬件,操作系統(tǒng),運行環(huán)境什么的都不需要考慮了。

在公司中的一個很大的用途就是可以保證線下的開發(fā)環(huán)境、測試環(huán)境和線上的生產(chǎn)環(huán)境一致。當(dāng)年在***經(jīng)常碰到這樣的事情,開發(fā)把東西做好了給測試去測,一般會給一坨代碼和一個介紹上線步驟的上線單。結(jié)果代碼在測試機(jī)跑不起來,開發(fā)就跑來跑去看問題,一會兒啊這個配置文件忘了提交了,一會兒啊這個上線命令寫錯了。找到了一個 bug 提上去,開發(fā)一看,啊我怎么又忘了把這個命令寫在上線單上了。類似的事情在上線的時候還會發(fā)生,變成啊你這個軟件的版本和我機(jī)器上的不一樣……在 ***的時候,由于一個開發(fā)直接擔(dān)任上述三個職位,而且有一套自動化部署的機(jī)制所以問題會少一點,但是上線的時候大家還是膽戰(zhàn)心驚。

若果利用容器的話,那么開發(fā)直接在容器里開發(fā),提測的時候把整個容器給測試,測好了把改動改在容器里再上線就好了。通過容器,整個開發(fā)、測試和生產(chǎn)環(huán)境可以保持高度的一致。

此外容器也和VM一樣具有著一定的隔離性,各個容器之間的數(shù)據(jù)和內(nèi)存空間相互隔離,可以保證一定的安全性。

docker在很大程度上可以解決的問題

軟件更新發(fā)布低效

業(yè)務(wù)無法敏捷

環(huán)境一致性,難于保證

不同環(huán)境之間遷移成本太高

軟件開發(fā)商,交付實施周期長—-成本高

那為啥不用VM?

那么既然容器和 VM 這么類似為啥不直接用 VM 還要整出個容器這么個概念來呢?Docker 容器相對于 VM 有以下幾個優(yōu)點:

啟動速度快,容器通常在一秒內(nèi)可以啟動,而 VM 通常要更久
資源利用率高,一臺普通 PC 可以跑上千個容器,你跑上千個 VM 試試
性能開銷小, VM 通常需要額外的 CPU 和內(nèi)存來完成 OS 的功能,這一部分占據(jù)了額外的資源
為啥相似的功能在性能上會有如此巨大的差距呢,其實這和他們的設(shè)計的理念是相關(guān)的。 VM 的設(shè)計圖如下:

VM 的 Hypervisor 需要實現(xiàn)對硬件的虛擬化,并且還要搭載自己的操作系統(tǒng),自然在啟動速度和資源利用率以及性能上有比較大的開銷。而 Docker 的設(shè)計圖是這樣的:

Docker 幾乎就沒有什么虛擬化的東西,并且直接復(fù)用了 Host 主機(jī)的 OS,在 Docker Engine 層面實現(xiàn)了調(diào)度和隔離重量一下子就降低了好幾個檔次。 Docker 的容器利用了 lxc,管理利用了 namespaces 來做權(quán)限的控制和隔離, cgroups 來進(jìn)行資源的配置,并且還通過 aufs 來進(jìn)一步提高文件系統(tǒng)的資源利用率。

其中的 aufs 是個很有意思的東西,是 UnionFS 的一種。他的思想和 git 有些類似,可以把對文件系統(tǒng)的改動當(dāng)成一次 commit 一層層的疊加。這樣的話多個容器之間就可以共享他們的文件系統(tǒng)層次,每個容器下面都是共享的文件系統(tǒng)層次,上面再是各自對文件系統(tǒng)改動的層次,這樣的話極大的節(jié)省了對存儲的需求,并且也能加速容器的啟動。

以上所述是小編給大家介紹的docker初識之五分鐘認(rèn)識docker,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Rancher+Docker+SpringBoot實現(xiàn)微服務(wù)部署、擴(kuò)容、環(huán)境監(jiān)控

    Rancher+Docker+SpringBoot實現(xiàn)微服務(wù)部署、擴(kuò)容、環(huán)境監(jiān)控

    Rancher?是一套容器管理平臺,可以在生產(chǎn)環(huán)境中快捷的部署和管理容器,方便的對容器進(jìn)行cpu內(nèi)存環(huán)境監(jiān)控、日志監(jiān)控、擴(kuò)容縮容,自動重啟,這篇文章主要介紹了Rancher+Docker+SpringBoot實現(xiàn)微服務(wù)部署、擴(kuò)容、環(huán)境監(jiān)控,需要的朋友可以參考下
    2022-04-04
  • Docker刪除已存在的鏡像的實現(xiàn)

    Docker刪除已存在的鏡像的實現(xiàn)

    本文主要介紹了Docker刪除已存在的鏡像的實現(xiàn),刪除已存在的 Docker 鏡像,可以使用 docker rmi 命令,下面就來詳細(xì)的介紹一下使用步驟,感興趣的可以了解一下
    2023-08-08
  • Docker 使用 Supervisor 來管理進(jìn)程操作

    Docker 使用 Supervisor 來管理進(jìn)程操作

    這篇文章主要介紹了Docker 使用 Supervisor 來管理進(jìn)程操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • MacOS安裝Docker的過程及遇到的坑

    MacOS安裝Docker的過程及遇到的坑

    這篇文章給大家分享MacOS安裝Docker的過程及遇到的坑,本文給大家介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友參考下
    2018-01-01
  • Docker mongoDB 4.2.1 安裝并收集springboot日志的步驟詳解

    Docker mongoDB 4.2.1 安裝并收集springboot日志的步驟詳解

    這篇文章主要介紹了Docker mongoDB 4.2.1 安裝并收集springboot日志,本文分步驟通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Docker新手初探之常用命令實踐記錄

    Docker新手初探之常用命令實踐記錄

    這篇文章主要給大家介紹了關(guān)于Docker新手初探之常用命令實踐的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • linux中docker的安裝教程

    linux中docker的安裝教程

    這篇文章主要介紹了linux中docker的安裝教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 使用OpenSSL生成Kubernetes證書的介紹

    使用OpenSSL生成Kubernetes證書的介紹

    今天小編就為大家分享一篇關(guān)于使用OpenSSL生成Kubernetes證書的介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Docker鏡像分層的原理詳解

    Docker鏡像分層的原理詳解

    這篇文章主要介紹了Docker鏡像分層的原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Docker從零構(gòu)建php-nginx-alpine鏡像的方法

    Docker從零構(gòu)建php-nginx-alpine鏡像的方法

    這篇文章主要介紹了Docker從零構(gòu)建php-nginx-alpine鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論