Docker入門與實戰講解


簡述

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架包括系統。

Docker是什么? 

Docker是基於Go語言實現的雲開源項目,誕生於2013年初,最初是dotCloud公司發起。

Docker通過對應用組件的封裝、分發、部署、運行等生命周期的管理,達到應用組件級別的“一次封裝,到處運行”。這里應用組件,即可以是Web應用,也可以是一套數據庫服務,甚至是一個操作系統或編譯器。

Docker由鏡像(Image)、容器(Container)、倉庫(Repository) 三大核心組成。

為什么要用Docker?

 

 

更快速的交付和部署(使用docker,開發人員可以用鏡像來快速構建一套標准的開發環境;開發完成之后,測試和運維人員可以直接使用相同環境來部署代碼。)

更輕松的遷移和擴展(docker容器幾乎可以在任意平台上運行,包括物理機、虛擬機、公有雲、私有雲、個人電腦、服務器等。可以在不同的平台輕松地遷移應用)

更簡單的更新管理(使用Dockerfile,只需要修改小小的配置,就可以替代以往大量的更新工作)

 

與傳統虛擬機對比

 

場景示例-傳統開發流程

 

 

場景示例-docker環境開發流程

 

 

Linux下安裝docker程序

 

環境准備

  1Linux7以上或者cent OS6及以上版本

  2、內核3.1.0以上

  364位操作系統

安裝docker

  1yum安裝 yum install  docker-engine

  2curl腳本安裝  



 

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 

 

  FROM指定構建鏡像的基礎源鏡像,如果本地沒有基礎鏡像會從docker公共  庫中下載鏡像

•RUN

  RUN指令將在當前鏡像基礎上執行指定命令

•CMD

  CMD的目的是為了在啟動容器時提供一個默認的命令執行選項。如果用戶啟  動容器時指定了運行的命令,則會覆蓋掉CMD指定的命令

•EXPOSE

  Docker 服務端容器對外映射的本地端口,需要在dockerrun 的時候使用-p或  者-P選項生效

•ENV

  ENV指定一個環節變量,會被后續RUN指令使用,並在容器運行時保留

 

•ADD

 

  ADD復制本地主機文件、目錄或者遠程文件URLS從並且添加到容器指定路  徑中,支持正則模糊匹配    

•COPY

   COPY復制新文件或者目錄從並且添加到容器指定路徑中 。用法同ADD,唯  一的不同是不能指定遠程文件 URLS

•VOLUME

   VOLUME創建一個可以從本地主機或其他容器掛載的掛載點

•WORKDIR

   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

 


免責聲明!

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



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