Docker簡介


虛擬化技術

如果說主機時代比拼的是單個服務物理性能(如CPU,內存)的強弱,那么雲時代,最為看重的則是通過虛擬化技術所構建的集群的處理能力。
虛擬化技術是指將計算機的物理資源進行抽象,封裝成一個個獨立的分區,每一個分區可運行不同的操作系統,分區之間相互隔離,又可共享計算機的物理資源。
廣義來說,虛擬化技術都是基於軟件來實現的。常見的虛擬化產品 有VirtualBox、KVM(騰訊雲)、VMware Workstation和VMware ESX(它在其4.0版,被改名為VMware vSphere)、Xen(阿里雲)

Docker虛擬化技術

docker是一個應用程序,用go語言編寫,基於Linux容器(LXC)設計思想。簡單來說,Docker容器可以理解為一種輕量級的沙盒,每一個沙盒內運行着自己獨有操作系統或者應用程序,相互隔離,容器之間可以通過網絡互相通信。
docker容器的特點:輕量、簡單、易於管理、易於遷移。
舉一個例子,假設現在需要搭建一個LAMP(Linux+Apache+Mysql+Php)的環境,按照傳統做法,需要先安裝Linux的操作系統,而后在操作系統中安裝相關軟件,再然后才能將web網站放到服務器上面運行。如果使用docker來實現,大致需要2步,拉取一個LAMP的Docker鏡像,啟動一個docker並配置web網站部署包所在文件夾到docker的映射路徑。不用去關注基礎組件的安裝和維護,Docker鏡像已經為我們做了這些。

Docker虛擬化技術和虛擬機(VM)對比

  • 虛擬機運行在虛擬硬件上, 應用運行在虛擬機內核上。而 docker daemon 是宿主機上的一個進程, 應用只是 docker daemon 的一個子進程, 換句話說, 應用直接運行在宿主機內核上

  • 虛擬機需要特殊硬件虛擬化技術支持, 因而只能運行在物理機上。docker 沒有硬件虛擬化, 因而可以運行在物理機、虛擬機, 甚至 docker 容器內(嵌套運行)

  • 因為沒有硬件虛擬化及多運行一個 Linux 內核的開銷, 應用運行在 docker 上比虛擬機上更輕、更快

Docker核心組件

鏡像

Docker鏡像可以看做是一個部署包,類似web程序的部署包。是一種特殊的文件系統,內部包含了容器運行時需要的操作系統或程序或庫或靜態文件,還包含了容器運行時需要的配置參數(如環境變量,用戶等)。鏡像在構建完成之后,內容就是固定了的,不會被修改。

倉庫

Docker倉庫就是存方Docker鏡像的空間,並提供專門的上傳和下載功能

容器

Docker容器是一個從Docker鏡像創建的實例,可以理解為一個運行着的應用程序,這個應用程序有可能是一個運行着的linux操作系統,也可能是一個Nginx服務。Docker容器能夠根據鏡像創建實例並對外提供資源和服務,得益於Docker引擎,目前Docker引擎有兩種,一個是CE(社區版)一個是EE(企業版)。

Docker入門

使用LinuxMint演示

  • 安裝
sudo apt  install  docker.io

  • 驗證是否安裝成功
sudo  docker info 

  • 拉取hello-world鏡像
sudo docker pull  hello-world 

  • 查看本地鏡像列表
sudo  docker  image   ls 

  • 運行hello-world
sudo   docker run  hello-world

關於hello-world鏡像的介紹已經在終端中打印出來了。

引用

知乎: https://www.zhihu.com/question/27561972
書籍:《Docker技術入門和實踐》
博客: http://jm.taobao.org/2016/05/12/introduction-to-docker/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM