docker引擎的基礎是基於linux容器(lxc)技術,即容器有效的將由單個作業系統管理的資源劃分到孤立的組中,以便更好地在孤立的組之間平衡有衝突的資源使用需求。
docker可以高效的建立應用。
docker在運維中的優勢:
1.更快的交付和部署。使用docker,開發人員可以使用映象來快速構建一套標準的開發環境,開發完成之後,測試和運維人員可以直接使用相同的環境來部署**,docker可以快速建立和刪除容器,實現快速迭代,大量節約開發、測試、部署的時間,並且,各個步驟都有明確的配置和操作,整個過程全程可見,使團隊更容易理解應用的建立和工作過程。
2.更高效的資源利用。docker容器的執行不需要額外的虛擬化管理程式(vmm)支援,它是核心級的虛擬化,可以實現更高的效能,同時對資源的額外需求很低。
3.更輕鬆的遷移和擴充套件。docker容器幾乎可以在任意的平台上執行,包括物理機、虛擬機器、公有雲、私有雲、個人電腦、伺服器等。這種相容性讓使用者可以在不同的平台之間輕鬆的遷移應用。
4.更簡單的更新管理。使用dockerfile, 只需要小小的配置修改,就可以替代以往大量的更新工作。並且所有修改都以增量的方式進行分發和更新,從而實現自動化並且高效的容器管理。
1、映象:類似於虛擬機器映象,可以理解為面向docker引擎的唯讀模板,包含檔案系統。
2、容器:
docker容器類似於乙個輕量級的沙箱,利用容器可以實現執行和隔離應用。
容器是從映象建立的應用執行例項,可以將其啟動、開始、停止、刪除,而這些容器都是互相隔離、互不可見的。
讀者可以把容器看做乙個簡易版的linux系統環境(這包括root使用者許可權、程序空間、使用者空間和網路空間等),以及執行在其中的應用程式打包而成的應用盒子。
映象自身是唯讀的。容器從映象啟動的時候,docker會在映象的最上層建立乙個可寫層,映象本身將保持不變。
3、倉庫:
類似於**倉庫,是集中存放映象檔案的場所。其管理理念和git十分相似。
資料卷:可以供容器使用的特殊目錄,繞過檔案件系統,具有以下特性:
資料卷可以在容器之間共享和重用;
對資料卷的修改會立馬生效;
對資料卷更新,不會影響映象;
捲會一直存在,直到沒有容器使用。
在容器內建立乙個資料卷:(-v 掛載乙個本地主機檔案目錄作為資料卷)
資料卷容器:
docker run -it -v /dbdata --name dbdata ubuntu
docker run -it --volumes-from dbdata --name db1 ubuntu
docker run -it --volumes-from dbdata --name db2 ubuntu
利用資料卷容器遷移資料:
資料備份:
docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata
資料恢復:
docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
Docker 核心概念
1.docker映象 docker映象 image 類似於虛擬機器映象,可以將它理解為乙個面向docker引擎的唯讀模板,包含了檔案系統。例如 乙個映象可以只包含乙個完整的ubuntu作業系統環境,可以把它稱為乙個ubuntu映象。映象也可以安裝了apache應用程式 或使用者需要的其他軟體 可以把...
docker核心概念
docker客戶端 docker客戶端是許多docker使用者與docker互動的主要方式。當您使用諸如docker run之類的命令時,客戶端會將這些命令傳送到守護程序,由守護程序執行這些命令。docker客戶端可以與多個守護程序通訊。docker守護程序 daemon 監聽客戶端請求,並管理do...
Docker 核心概念篇
docker 特點 docker 優點 dockerfile docker包含三個基本概念,容器container 映象image 倉庫registry 容器,開源的應用容器引擎,主要解決環境配置問題 docker是乙個映象格式,一系列標準操作,乙個執行環境 docker借鑑了標準貨櫃的概念。標準貨...