docker相關概念記錄

2021-08-11 05:25:02 字數 2214 閱讀 2151

因為docker的執行原理是基於linux的,所以docker只能在linux下執行。也就是說真正的生產環境下,基於docker的部署只能在linux上,但是我們在開發環境測試的時候,docker是可以在windows下執行的,執行的原理是啟動乙個virtualbox虛擬機器,然後在此虛擬機器裡執行docker。

docker&vm

docker引擎替代了hyperv,沒有gest os(虛擬機器),應用是放到容器裡,直接執行在宿主機的 os上。這樣做的好處是,各容器間雖然隔離,但共享系統資源和公用庫,剝離了gest os這層,系統資源利用率更高。使用者需要的是高效執行環境而非os, guestos既浪費資源又難於管理,輕量級的 container更加靈活和快速。

因為docker容器的靈活性,在程式的開發、測試、發布,整個流程能保證環境的一致性,並大大減少工作量和時間。 

開發者:build once, run everywhere 

運維者:configure once, run everything 

相關概念

kubernetes[kju:be'tes],google 容器編排工具,基於 docker 構建乙個容器的排程服務。該系統可以自動在 乙個容器集群中選擇乙個工作容器供使用

linux containers(lxc)容器可以提供輕量級的虛擬化,是基於應用的虛擬化,所以每個虛擬機器僅是主機系統的乙個程序,不需要完全模擬硬體,資源占用非常少。

cgroups---control groups是linux核心提供的一種可以限制、記錄、隔離程序組( process groups)所使用的物理資源(如:cpu, memory, io等)的機制。

docker是lxc的管理器,lxc是cgroup的管理工具,cgroup是namespace的使用者空間的管理介面。namespace是linux核心在task_struct中對程序組管理的基礎機制 

在接觸docker的過程中經常遇到以下三個縮寫:

caas容器即服務(containers as a service)

iaas基礎設施即服務(infrastructure as a service)

paas平台即服務(platform-as-a-service),它是這樣乙個雲計算:平台提供了雲儲存、資料庫、網路、負載均衡、自動擴充套件等功能,你只需將你的程式交給雲計算平台就可以了。

saas軟體即服務(software-as-a-service)

三者有什麼區別?

開發乙個**,傳統上會先去買伺服器,安裝伺服器軟體,然後編寫**程式;

自從有了雲計算,如果採用iaas服務,那麼你就不用自己買伺服器了,隨便在哪家購買虛擬機器,但是還是需要自己裝伺服器軟體;

編排的重點是服務可以接服務,因此往往上乙個服務的輸出將成為下乙個服務的輸入資訊,上乙個服務進行服務呼叫和計算得到結果後,將輸出資訊直接和下乙個服務的輸入資訊進行對映。就達到基本的服務組裝和編排的目的。

docker是乙個容器,容器是對軟體的包裝,老外把容器和貨櫃統稱為container,其實docker只引用了貨櫃這個概念;而虛擬化是對作業系統的包裝。

可以這麼認為,對於應用軟體,映象是軟體生命週期的構建和打包階段,而容器則是啟動和執行階段。

到daocloud官網註冊賬號,會預設分配乙個位址,我的是

根據說明文件的指引,在docker toolbox下執行給出的一串命令,即可。

docker-machine ssh default

sudo sed -i "s|extra_args='|extra_args='--registry-mirror= |g" /var/lib/boot2docker/profile

exit

docker-machine restart default

//修改為阿里雲映象加速器

docker-machine ssh default

sudo sed -i "s|extra_args='|extra_args='--registry-mirror= |g" /var/lib/boot2docker/profile

exit

docker-machine restart default

其中,如果是linux環境,daocloud給的命令執行後會在/etc/docker/daemon.json生成乙個物件,這裡多了乙個逗號,導致docker啟動報錯,去掉就好了。

vi /etc/docker/daemon.json

參考:

docker相關概念

作為一種新興的虛擬化方式,docker 跟傳統的虛擬化方式相比具有眾多的優勢。首先,docker 容器的啟動可以在秒級實現,這相比傳統的虛擬機器方式要快得多。其次,docker 對系統資源的利用率很高,一台主機上可以同時執行數千個 docker 容器。容器除了執行其中應用外,基本不消耗額外的系統資源...

Docker相關概念及要點

1.基本概念 docker 的容器通過 linux 的命名空間完成了與宿主機程序的網路隔離。docker 為我們提供了四種不同的網路模式,host container none 和 bridge 模式。docker 預設的網路設定模式 網橋模式。我們通過 linux 的命名空間為新建立的程序隔離了檔...

Docker容器的相關概念與Docker的使用

docker支援隨機建立 銷毀,當任務需要建立一台例項時,只需要在裝置池中虛擬化出一台資源機,掛載私有網路,遍完成了例項建立。當然,伺服器除了硬體資源,還需要軟體資源,包含作業系統 容器 中介軟體等配合,因此,例項化docker之後,我們還得建立作業系統 安裝我們的容器配置。那麼,若能把這些所需要的...