docker技術的詳細介紹(簡單、直白的理解)

Docker技術詳解
一.什麼是Docker
       Docker 是 Docker.Inc 公司開源的一個基於 LXC技術之上構建的Container容器引擎, 源代碼託管在 GitHub 上, 基於Go語言並遵從Apache2.0協議開源。 Docker在2014年6月召開DockerConf2014技術大會吸引了IBM、Google、RedHat等業界知名公司的關注和技術支持,無論是從 GitHub上的代碼活躍度,還是Redhat宣佈在RHEL7中正式支持Docker, 都給業界一個信號,這是一項創新型的技術解決方案。 就連 Google 公司的 Compute Engine 也支持 docker 在其之上運行, 國內“BAT”先鋒企業百度Baidu App Engine(BAE)平臺也是以Docker作爲其PaaS雲基礎。現在主流的linux系統都支持Docker技術。
二.Docker核心概念
      Docker的大部分操作都是圍繞着它的三大核心概念——鏡像、容器和倉庫而展開。因此,掌握這三大概念尤爲重要。
1. Docker鏡像
      Docker鏡像類似於虛擬機鏡像,可以將它理解爲一個只讀的模板,當要創建Docker容器時,就是在這個模板的基礎上加上一個可寫層。
2. Docker容器
       Docker容器類似於一個輕量級的沙箱,Docker利用容器來運行和隔離應用。容器是Docker鏡像創建的運行實例,Docker容器只保留一些你自己特有的東西,有鏡像那塊的東西不保留,例如:保留一些用戶權限、進程空間等。
3. Docker倉庫
        Docker倉庫類似於一個git倉庫,不過它存的是Docker鏡像文件,自己修改的文件要保留到Docker倉庫,必須先生成一個新的Docker倉庫,所以一般小的修改只保留到Docker容器,不上傳到Docker倉庫
二.Docker的使用
1.獲取鏡像
         鏡像的獲取一般是在Docker Hub網站上,可以直接使用docker pull命令直接從Docker Hub鏡像源來下載鏡像。該命令的格式爲docker pull NAME[:TAG],例如:docker pull ubuntu:16.04。如果是從其他鏡像源下載,需要在pull後面加上地址,比如:docker pull hub.c.163.com/public/Ubuntu:16.04。
2.查看鏡像信息
         使用docker images 命令可以列出本機上已有鏡像的信息(注意images有s)。
         例如:docker images
         REPOSITORY         TAG        TMAGE  ID      CREATED          SIZE
               Ubuntu            16.04        2ffljhj34h89      2hours ago         122M
        使用inspect命令查看詳細信息
        docker inspect可以獲取該鏡像的作者、適應框架、各層數字摘要等。
        docker inspect ubuntu:16.04
4. 搜尋鏡像
        使用docker search命令可以搜索遠端倉庫中共享的鏡像,其中有一下參數
         --automated=true|false   顯示自動創建的鏡像,默認爲否
        --no-trunc=true|false     輸出信息不截斷,默認爲否
        -s  number             指定僅顯示評價爲number星級以上的鏡像
        例如:docker search –automated –s 3 nginx   搜索所有自動創建的評價爲3以上的帶nginx關鍵字的鏡像
5. 刪除鏡像
       docker rmi ubuntu:16.04  刪除鏡像爲16.04版本的ubuntu
       可以這麼理解,rmi就是remove image的縮寫
       當存在此對象對應的容器時,使用該方法刪除不能鏡像,可以先刪除容器在刪除鏡像,容器的刪除在後面講解。
6. 創建鏡像
       docker commit –m “add a new file” –a “paul” as2hj3gy5ty5 docker_paul:14.04
       註解:docker commit –m是提交爲一個新鏡像的一般格式,“add a new file”是提交時的文件說明,-a是參數選項,表示後面要接作者信息,“paul”是作者信息,as2hj3gy5ty5是當前這個容器的id,docker_paul:14.04是提交上去的鏡像repository和tag。
7. 上傳鏡像
        docker push docker_paul:14.04
        將剛纔創建的鏡像上傳到倉庫中。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章