關於Docker的概念

2021-08-20 09:09:46 字數 1083 閱讀 7905

docker是乙個服務容器,所謂容器就是像你的原先部署tomcat時要執行在linux上,linux也就是乙個類似的容器。我們可以把自已的服務放到docker中執行,docker會幫我們做底層對作業系統庫等的呼叫。典型的我們可以在docker容器中執行乙個mysql的服務。

從巨集觀意義上看docker容器:

image映象:映象應該和容器是緊密相關的,這裡借助oop的概念,映象和container的關係就好像類和類例項的關係,由乙個image可以建立出很多容器。所以這裡映象是乙個相對靜態的概念,而容器則是乙個動態概念,在實際中我們會使用dockerfile等工具對我們的專案生成相應的合適版本的部署環境的映象,然後當專案release後就生成相應的部署映象,通過docker的倉庫實現快速部署、更新。

container:這是使用docker時必須也是最常打交道的乙個概念,乙個容器就是可以提供一定基礎能力的並且有自己的資源隔離的執行環境。典型的我們可以建立乙個linux映象的容器,那麼這個容器就包含了linux的基本功能,如檔案系統、bash命令等,我們可以使用docker直接與這個容器互動。

docker-client:我們使用docker-client來和docker-daemon進行互動

docker-daemon:docker的守護程序,我們每用docker-client執行乙個命令,docker-client會連線到這個docker-daemon,而這個daemon會根據執行的命令找到相應的handler,生成對應的job進行執行命令。

docker的意義:

傳統部署模式(直接往linux扔):在傳統模式下我們的生產環境和部署環境往往有所差異,所以在部署時會遇到新的問題。當服務模組較多時,很難管理模組,每次部署都要打包上傳到部署伺服器,在重新啟動應用。並且內網的ip管理也會非常麻煩,還會造成資源、埠衝突。

docker部署:遮蔽了生產環境和部署環境的差異,環境也變得版本可控,而應用打包後直接push pull就可以動態更新服務,docker自帶了多種網路連線模式,並且通過cgroups, chroot等技術實現了資源,最大限度的實現資源隔離,同時也使服務更加安全。

關於Docker裡面的幾個主要概念

這裡用個不太恰當的比方來說明。兩種方式構建映象的主要步驟 1.從容器構建映象 以下簡稱容器映象 2.使用dockerfile構建映象 以下簡稱dockerfile映象 兩種構建方式的區別 1.容器映象的構建者可以任意修改容器的檔案系統後進行發布,這種修改對於映象使用者來說是不透明的,映象構建者一般也...

Docker學習(一) docker概念

docker是乙個容器引擎,是應用程式與系統之間的隔離層。通常應用程式對安裝的系統環境會有要求,如果伺服器很多,部署時系統環境的配置工作是非常繁瑣的。docker讓應用程式不必再關心主機環境,各個應用安裝在docker映象裡,docker引擎負責執行包裹了應用程式的docker映象。docker的理...

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

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