1. 程式人生 > >docker(1)命令總結

docker(1)命令總結

1、docker是一種輕量級虛擬機器,專業說法為應用容器(application container)

             Hyper-V、KVM、Xen、esxi是基於虛擬化硬體模擬機制

         docker容器使用共享的作業系統

    

2、docker的好處

          快速的交付應用程式(快,輕)

         更容易部署和擴充套件

         效率高

         快速部署更簡單的管理

3、docker是c/s結構。守護程序(docker daemon)作為server端,接受docker客戶端 (client)的請求,並處理(建立,執行,分發容器)

4、docker三大元件: docker倉庫                      存放映象

                                   docker映象                      建立容器,只讀,不能超過127層

                                 docker容器                      可以被建立,執行,分發

5、docker的底層核心技術:     namespaces                   用來隔離各個容器

                                                control groups                 實現對資源的配額和度量

6、docker特性

          檔案系統隔離

         資源隔離

         網路隔離

         日誌記錄

         變更管理

         互動式shell

7、docker映象的命令

     docker images (- -no-trunc)                 顯示本機的映象

         docker  inspect  映象名檢視完整的docker資訊

         docker   search  關鍵字  搜尋合適的image(預設docker hub共有倉庫上)

         docker  pull  映象名下載映象

         docker  run –it 映象名 /bin/bash    啟動映象(-t 分配偽終端,-i 互動式,–d 守護態執行  )

         docker tag imageID 新映象倉庫:tag名           修改映象標籤

         docker   login 進入  docker push 映象 上傳映象

         docker rmi  映象  移除本地映象(需要先刪掉這個image的倉庫)

         docker  save  –o 檔名 .tar   映象倉庫:tag   匯出映象

         docker  load  - -input   檔名  載入映象

8、docker容器命令

      docker ps (-a) 檢視容器(不加-a只檢視在up狀態的)

         exit,logout,Ctrl+c  退出容器(關閉容器)

         Ctrl  p + Ctrl q   退出終端(容器還在執行)

         docker  start  將exit狀態的容器啟動

         docker   stop/kill  終止容器

         docker   restart  重啟容器

         docker    inspect 容器名或ID檢視容器的資訊

         docker     attach (--sig-proxy=false )容器ID    進入容器(允許 Ctrl +c退出)

         docker  exec –it 容器名/ID /bin/bash  進入容器

         docker  export [容器/ID] >[檔名] 匯出容器

         cat  容器  | docker import  - 容器名    匯入容器

         docker rm 容器名/ID  刪除容器

         dockerrm $(docker ps –a -q)批量刪除

      

9、建立映象

         第一種:

         先使用image啟動容器

         在容器中新增應用(例如:yum–y  install mysql)

         exit退出

         docker   commit  –m “提交資訊說明” –a  “使用者” 建立新映象的容器的ID 新映象       倉庫:tag

         第二種:

         從dockerfile來建立image

10、Dockerfile分為4個部分:  基礎映象資訊,維護者資訊,映象操作指令,容器啟動時執行指令。

Dockerfile的13個基本指令

FROM(指定基礎image)

MAINTAINER(指定映象建立者的資訊)

RUN(安裝軟體用)

RUN   命令                                               列:RUN echo hello

RUN   [“exec”,”param1”]                          列:RUN [“/bin/sh“,“-c","echo hello"]

CMD(設定容器啟動是執行的操作)

CMD命令

CMD  [“exec”,”param1”]

ENTRYPOINT(設定container啟動是的執行的操作)

         

USER(設定container的使用者)

EXPOSE(設定容器需要對映到宿主機的埠)

EXPOSE 22

docker run –p  宿主機埠:container埠  image    將container埠對映成宿主機埠

ENV(用於設定環境變數)

ENV  <key> <value>

ADD(從本地複製檔案到container的路徑)

COPY(從本地複製檔案到container的路徑)

VOLUME(指定掛載點,使容器在停止的情況下檔案依然儲存在宿主機中)

VOLUME  [“/tmp/data”]

可以先使用docker inspect檢視容器資訊,找到容器目

WORKDIR(切換目錄相當於cd)

ONBUILD(在下一個映象中執行)