docker的三要素:映象,容器,倉庫
docker是利用容器獨立執行的乙個或一組應用,容器是用映象建立的執行例項
它可以被啟動,開始,停止,刪除。每個容器都是相互隔離的,保證安全的平台。可以把容器看作是乙個簡易版的linux環境(包括root使用者許可權,程序空間,使用者空間,網路空間等)和執行在其中的應用程式
容器的定義和映象幾乎一模一樣,也是一堆層的統一視角,唯一區別在於容器最上面那一層是可讀可寫的
倉庫:是集中存放映象檔案的場所
倉庫和倉庫註冊伺服器是有區別的,倉庫註冊伺服器上往往存放著多個倉庫,每個倉庫中又包含了多個映象,每個映象有不同的標籤(類似版本號)
倉庫分為公開倉庫,和私有倉庫兩種形式
需要正確理解倉儲,映象,容器這幾個概念:
docker本身是乙個容器執行載體或稱之為管理引擎。我們把應用程式和配置依賴打包好形成乙個可交付的執行環境,這個打包好的執行環境就是image映象檔案。
只有通過這個映象檔案才能生成docker容器。image檔案可以看作是容器的模板。
docker根據image檔案生成的容器例項。
同乙個image檔案,可以生成多個同時執行的容器例項。
image檔案生成的容器例項,本身也是乙個檔案,稱為映象檔案。
乙個容器執行一種服務,當我們需要的時候,就可以通過docker客戶端建立乙個對應的執行例項,也就是我們的容器。
至於倉庫,就是放了一堆映象的地方,我們可以把映象發布到倉庫中去,需要的時候從倉庫拉下來就行。
docker是怎麼工作的?
docker是乙個client-server結構的系統,docker守護程序執行在主機上,然後通過socket連線從客戶端訪問,守護程序從客戶端接受命令並管理執行在主機上的容器。
容器,是乙個執行時環境
docker映象的基本命令:
幫助命令
docker version 列印當前docker版本資訊
docker info 列印docker更詳細的資訊,外掛程式資訊和映象資訊,和容器數量
docker --help 幫助命令,不會就查這個
映象命令:
docker images 顯示所有的映象
docker images --help 檢視這個命令的幫助資訊
##解釋
repository :映象的倉庫源
tag :映象的標籤
image id :映象的id
created :映象建立時間
size:映象的大小
##可選項
docker images -a #列出所有的映象
docker images -q #列出映象的id
docker images -aq #列出所有的映象的id
docker search 搜尋映象 ,例如:docker search tomcat
刪除映象
docker rmi -f 映象id1 映象id2 映象id3 刪除多個映象
docker rmi -f 映象id 通過id刪除某一映象
docker rmi -f $(docker images -aq) 通過命令遞迴刪除所有映象
docker之容器命令
說明,有了映象才可以建立容器
建立容器
docker craate --name=容器名稱 所在映象名稱
docker craate --name=mytomcat tomcat
啟動容器
docker start 容器id
重啟容器
docker restart 容器id
停止當前容器
docker stop
殺死容器,強制停止容器
docker kill
檢視已執行的容器
docker ps
檢視所有的容器
docker run -it centos /bin/bash ##啟動並進入到容器
注意:首先,docker run -it centos 的意思是,為centos這個映象建立乙個容器
-it就等於 -i和-t,這兩個引數的作用是,為該docker建立乙個偽終端,這樣就可以進入到容器的互動模式?(也就是直接進入到容器裡面)
後面的/bin/bash的作用是表示載入容器後執行bash ,docker中必須要保持乙個程序的執行,要不然整個容器啟動後就會馬上kill itself,這個/bin/bash就表示啟動容器後啟動bash。
建立容器並進入命令列
docker run -it --name=mytomcat tomcat /bin/bash
從容器中退回主機的命令:exit
列出所有執行中的容器:docker ps
列出所有執行中的容器包括曾經執行過的容器:docker ps -a
列出最近建立的容器:docker ps -a -n=1 (最近建立的1個)
只顯示容器的編號:docker ps -aq
退出容器:
exit ##停止容器,並退出
ctrl +p +q ##容器不停止退出
刪除容器
docker rm 容器id ##刪除指定容器,不能刪除正在執行的容器,強制刪除要加 -f
刪除所有容器,先停掉容器
docker stop $(docker ps -a -q)
docker rm -f $(docker ps -aq) ##刪除所有的容器
常用的其他命令(重要)
啟動守護式容器:docker run -d 容器id
docker容器後台執行
檢視容器中程序的命令
docker top 容器id
uid 是使用者id
pid 是父id
ppid 是程序id
執行容器的命令
docker run 後面的引數
docker run -i 執行容器
docker run -d 守護程序,後台執行
docker run -t 容器啟動後,進入命令列
docker run -v 目錄對映 --掛載
檢視日誌命令
docker logs
檢視映象的元資料
docker inspect 容器id
退出容器後,想重新進入當前正在執行的容器
docker exec -it 容器id /bin/bash
或者docker attach 容器id
上述兩個命令有什麼區別呢?attach是直接進容器啟動命令終端,不會啟動新的程序
exec是在容器中開啟新的終端,並且可以啟動新的程序
訪問tomcat(重點)
啟動並作為守護程序
-p 宿主機的埠:容器應用裡的埠
war包掛載宿主機 -v 宿主機路徑:容器路徑
docker exec -it mytomcat6 /bin/bash
Docker 三 映象 容器的使用
列出映象列表 docker images各個選項說明 查詢映象 我們也可以使用 docker search 命令來搜尋映象。比如我們需要乙個nginx的映象來作為我們的 web 服務。我們可以通過 docker search 命令搜尋nginx來尋找適合我們的映象。當我們用pull命令拉取映象時,如...
習慣的養成 三要素
1.暗示訊號 2.管理行為 3.獎勵 需要解決的問題 最近我在為自己的習慣養成問題而苦惱,好的習慣很難保持,但是不好的習慣似乎一下就可以養成了,而且越來越嚴重,比如熬夜,這個習慣很不好!依據 原來早在2005年,mit的麥戈文腦科學研究院就已經做過有關大腦習慣養成的實驗,當時用乙個t行台,老鼠在t字...
資料模型的三要素
資料結構 資料操作 資料約束。是計算機儲存 組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合,即帶 結構 的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。資料模型中資料操作主要描述在相應的資料結構...