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成功。



注意:

    1dockerfile構建鏡像使用ADD指令複製文件到鏡像    目錄中 文件必須與dockerfile文件同目錄。

    2dockerinspect -f “{{.Volumes}}”容器id 這裏可   存放tomcat部署的war重啓容器自動部署。

重啓容  器命令:dockerrestart容器id


原文:https://blog.csdn.net/relax_hb/article/details/69668815

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章