簡述
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架包括系統。
Docker是什么?
Docker是基於Go語言實現的雲開源項目,誕生於2013年初,最初是dotCloud公司發起。
Docker通過對應用組件的封裝、分發、部署、運行等生命周期的管理,達到應用組件級別的“一次封裝,到處運行”。這里應用組件,即可以是Web應用,也可以是一套數據庫服務,甚至是一個操作系統或編譯器。
Docker由鏡像(Image)、容器(Container)、倉庫(Repository) 三大核心組成。
為什么要用Docker?
更快速的交付和部署(使用docker,開發人員可以用鏡像來快速構建一套標准的開發環境;開發完成之后,測試和運維人員可以直接使用相同環境來部署代碼。)
更輕松的遷移和擴展(docker容器幾乎可以在任意平台上運行,包括物理機、虛擬機、公有雲、私有雲、個人電腦、服務器等。可以在不同的平台輕松地遷移應用)
更簡單的更新管理(使用Dockerfile,只需要修改小小的配置,就可以替代以往大量的更新工作)
與傳統虛擬機對比
場景示例-傳統開發流程
場景示例-docker環境開發流程
Linux下安裝docker程序
環境准備
1、Linux7以上或者cent OS6及以上版本
2、內核3.1.0以上
3、64位操作系統
安裝docker
1、yum安裝 yum install docker-engine
2、curl腳本安裝
Docker命令用法→鏡像
創建鏡像
一、基於已有的鏡像容器創建
docker commit [options] container[repository]
option:-a, --author=“” 作者信息
-m,--message=“” 提交信息
-p, --pause=true 提交時暫停容器運行
二、基於本地模板導入創建
docker load < ***.tar --本地模板文件tar
三、基於Dockerfile文件構建鏡像
docker build –t image-name basedir
Docker命令用法→刪除鏡像
刪除鏡像
dockerrmi image
dockerrmi –f image –強制刪除鏡像
其中image可以為標簽或者ID
注意:
用dockerrmi刪除鏡像時,首先刪除容器,再刪除鏡 像。
Docker命令用法→容器
創建 |啟動容器
docker create image 創建的容器是停止狀態
docker start/stopcontainer_id啟動/停止容器
docker run image創建並啟動容器
備注:image-可以為鏡像標簽或Id
container_id為容器id
Docker數據卷→介紹
數據卷是一個特別指定的目錄,該目錄利用容器的UFS文件系統可以為容器提供一些穩定的特性或者數據共享。數據卷可以在多個容器之間共享。
創建數據卷,只要在dockerrun命令后面跟上-v參數即可創建一個數據卷,當然你也可以跟多個-v參數來創建多個數據卷,當創建好帶有數據卷的容器后,你就可以在其他容器中通過--volumes-froms參數來掛載該數據卷了,而不管該容器是否運行。你也可以在Dockerfile中通過VOLUME指令來增加一個或者多個數據卷。
Docker基礎命令用法總結
Docker-dockerfile構建鏡像用法
介紹Dockerfile的基本語法結構Dockerfile有以下指令選項:
FROM指定構建鏡像的基礎源鏡像,如果本地沒有基礎鏡像會從docker公共 庫中下載鏡像
RUN指令將在當前鏡像基礎上執行指定命令
CMD的目的是為了在啟動容器時提供一個默認的命令執行選項。如果用戶啟 動容器時指定了運行的命令,則會覆蓋掉CMD指定的命令
Docker 服務端容器對外映射的本地端口,需要在dockerrun 的時候使用-p或 者-P選項生效
ENV指定一個環節變量,會被后續RUN指令使用,並在容器運行時保留
ADD復制本地主機文件、目錄或者遠程文件URLS從並且添加到容器指定路 徑中,支持正則模糊匹配
COPY復制新文件或者目錄從並且添加到容器指定路徑中 。用法同ADD,唯 一的不同是不能指定遠程文件 URLS
VOLUME創建一個可以從本地主機或其他容器掛載的掛載點
WORKDIR為后續的RUN、CMD、ENTRYPOINT指令配置工作目錄。可以使 用多個WORKDIR指令,后續命令如果參數是相對路徑,則會基於之前命令指 定的路徑
DockerFile部署tomcat應用服務器
啟動docker鏡像
dockerrun –d –p 8080:8080 u-tomcat
-d --標示后台進程運行–p端口映射宿主8080→容器8080端口
出現上圖所示表示啟動成功,用http://ip:8080/訪問,顯示如圖說明部署tomcat成功。
注意:
1、dockerfile構建鏡像使用ADD指令復制文件到鏡像 目錄中 文件必須與dockerfile文件同目錄。
2、dockerinspect -f “{{.Volumes}}”容器id 這里可 以 存放tomcat部署的war重啟容器自動部署。
重啟容 器命令:dockerrestart容器id