官方給出的定義是:Docker是一個集開發,打包,運作應用于一體的開放式平台。Docker可以用來快速傳遞應用。使用Docker,你可以将應用程式從你的基礎設施中分離出來,并将基礎設施當做一個管理平台。Docker可以加快打包時間,加快測試,加快釋出,縮短開發及運作代碼之間的周期。Docker通過結合核心容器化特點和工作流,并使之工具化來實作這一切,幫助管理和釋出你的應用。
Docker的生态環境正逐漸壯大起來,Docker的核心,提供了一種運作大部分應用程式的方式,并安全地隔離在容器中。隔離性和安全性允許你在主機上同時運作多個容器。容器天生的輕量級特性,使其在運作時無需加載額外的虛拟機管理器,這意味着你可以從硬體中獲得更多東西。
容器周邊是一個工具化的平台,可以從以下幾個方面幫助你:
将你的應用(或支援的元件)置于Docker容器中
分發和打包這些容器,以便将來用于開發和測試
将這些應用部署至生産環境,無論是資料中心還是公有雲環境。
Docker Engine是一個C/S架構的應用程式,主要有以下元件:
服務端守護程序
REST API接口,程式用來與守護程序進行互動
CLI(command line interface)指令行接口用戶端
Docker Engine Components
注:Docker 引擎 組成(圖檔來源于docs.docker.com)
CLI使用腳本或直接使用CLI指令,利用Docker的REST API來控制Docker守護程序或與之進行互動。其他許多Docker應用程式使用底層API和CLI。
守護程序建立并管理Docker對象,Docker對象包括鏡像,容器,網絡,資料卷等等。
快速傳遞應用
便捷的部署和調整
高密集度,高負載
Docker鏡像是一個隻讀的模闆。包含了容器運作時所需要的檔案系統和一些參數。鏡像是無狀态的,也不會改變。鏡像是用來建立容器的。你可以使用docker pull指令擷取一個别人已建立好的鏡像,或者使用dockerbuild來建構一個自己的鏡像。
Docker容器就像是一個檔案夾,容器中包含了應用運作所需的一切。每個容器都是一個隔離的和安全的應用平台。容器是鏡像的一個執行個體,它是有狀态的,而且随時會改變,容器一般是短暫的。
啟動一個容器的過程如下:
檢查指定的鏡像是否存在
如果不存在,則去Docker Hub下載下傳
加載鏡像并運作
Docker注冊中心是托管Docker鏡像的地方,有公共的和私有的,你可以往這些注冊中心上傳或下載下傳鏡像。
Docker Hub是Docker官方的公共鏡像倉庫,這裡彙集了非常多的常用鏡像,我們可以直接從這裡下載下傳使用,也可以自己制作自己的鏡像,并分享給别人。
1、配置Daocloud,去官網申請一個賬戶
2、配置 Docker 加速器 将 –registry-mirror 加入到你的 Docker 配置檔案 /etc/default/docker 中
3、重新開機docker sudo service docker restart
1、拉取tomcat的鏡像
2、檢視一下鏡像是否拉取成功
3、建立并且啟動容器
4、檢視容器日志
5、浏覽器通路tomcat8
6、關閉容器
7、啟動容器
8、檢視啟動了的容器
9、建立目錄
10、建立一個web.xml
11、建立一個jsp頁面
1 、建立一個檔案夾,并命名為baseos
該目錄作為我們建構鏡像的上下文,建構該鏡像的所有内容都會放到該目錄下。
2、建立Dockerfile檔案
3、編輯Dockerfile
4、下載下傳jdk–》移動到Dockerfile所在目錄
5、修改Dockerfile檔案
6建構鏡像、執行docker build -t cjn/baseos:1.0 .指令建構,注意不要忘了最後的那個點.
說明: -t, –tag=”” Repository name (and optionally a tag) to be applied to the resulting image in case of success
7、測試結果