Docker 是什麼?
Docker 是一個引擎,
Docker 是一個應用容器引擎,
Docker 是一個開源的應用容器引擎,
他可以将開發的應用生成鏡像,然後釋出到任何系統上運作。
基本概念
Docker
Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的Linux機器或Windows機器上,也可以實作虛拟化,容器是完全使用沙箱機制,互相之間不會有任何接口。Docker底層用的Linux的cgroup和namespace這兩項技術來實作應用隔離,一個完整的Docker有以下幾個部分組成:
- Docker Client用戶端
Docker Daemon守護程序 Docker Image鏡像 Docker Container容器
Docker中基本概念
鏡像(Image)
鏡像,從認識上簡單的來說,就是面向對象中的類,相當于一個模闆。從本質上來說,鏡像相當于一個檔案系統。Docker 鏡像是一個特殊的檔案系統,除了提供容器運作時所需的程式、庫、資源、配置等檔案外,還包含了一些為運作時準備的一些配置參數(如匿名卷、環境變量、使用者等)。鏡像不包含任何動态資料,其内容在建構之後也不會被改變。
容器(Container)
容器,從認識上來說,就是類建立的執行個體,就是依據鏡像這個模闆建立出來的實體。容器的實質是程序,但與直接在宿主執行的程序不同,容器程序運作于屬于自己的獨立的命名空間。是以容器可以擁有自己的root 檔案系統、自己的網絡配置、自己的程序空間,甚至自己的使用者ID 空間。容器内的程序是運作在一個隔離的環境裡,使用起來,就好像是在一個獨立于宿主的系統下操作一樣。這種特性使得容器封裝的應用比直接在宿主運作更加安全。
倉庫(Repository)
倉庫,從認識上來說,就好像軟體包上傳下載下傳站,有各種軟體的不同版本被上傳供使用者下載下傳。鏡像建構完成後,可以很容易的在目前主控端上運作,但是,如果需要在其它伺服器上使用這個鏡像,我們就需要一個集中的存儲、分發鏡像的服務,Docker Registry 就是這樣的服務。
分層存儲
因為鏡像包含作業系統完整的root 檔案系統,其體積往往是龐大的,是以在Docker設計時,就充分利用Union FS 的技術,将其設計為分層存儲的架構。是以嚴格來說,鏡像并非是像一個ISO 那樣的打封包件,鏡像隻是一個虛拟的概念,其實際展現并非由一個檔案組成,而是由一組檔案系統組成,或者說,由多層檔案系統聯合組成。
鏡像建構時,會一層層建構,前一層是後一層的基礎。每一層建構完就不會再發生改變,後一層上的任何改變隻發生在自己這一層。比如,删除前一層檔案的操作,實際不是真的删除前一層的檔案,而是僅在目前層标記為該檔案已删除。在最終容器運作的時候,雖然不會看到這個檔案,但是實際上該檔案會一直跟随鏡像。是以,在建構鏡像的時候,需要額外小心,每一層盡量隻包含該層需要添加的東西,任何額外的東西應該在該層建構結束前清理掉。
分層存儲的特征還使得鏡像的複用、定制變的更為容易。甚至可以用之前建構好的鏡像作為基礎層,然後進一步添加新的層,以定制自己所需的内容,建構新的鏡像。
搭建Docker環境
基于ECS快速搭建Docker環境,我們可以在阿裡雲官方查找軟體源,打開阿裡雲官網,在産品服務裡找到容器鏡像服務!在鏡像服務裡找到鏡像加速器,然後按照參考文檔來進行執行操作,

!!!
個人建議搞我們這行的,還是有必要買個伺服器,1年也就幾百塊,買來想怎麼玩兒就怎麼玩兒,主要是能學到技術,多好。