1. 程式人生 > >【入門級】Docker基礎介紹(一)

【入門級】Docker基礎介紹(一)

 

Docker發展

Docker目前有兩個版本:

1.Docker EE:企業版

2.Docker CE:社群版

 

Open Container Initiative倡議,包含兩個規範,

1.執行時規範:runtime-spec

2.映象規範:image-spec

 

容納容器映象的站點:

 https://hub.docker.com/

Docker架構

Docker是C/S架構,通過https協議通訊。daemon可以監聽在套接字之上,預設只提供unix sock檔案套接字,為了安全起見。它支援ipv4,ipv6,unix sock套接字三種使用者接入方式。

Docker host兩個重要元件:

1.container:容器

2.image:映象

映象來自於registry映象倉庫,預設為docker hub映象倉庫。可下載到本地後共享給上層使用。啟動容器是基於映象而啟動,為映象建立專用的可寫層。

Image儲存在host本地或者公共儲存中,通過http/https載入到本地才能被使用,預設使用的方式為https。

由於docker hub在ufw之外,國內為了實現加速訪問,維護了docker.cn或者可從阿里雲、中國科技大的映象加速。使用者也可以建立自己的私有倉庫。

倉庫:registry

它是一個可提供映象儲存的倉庫,可提供使用者獲取映象的認證,併為當前可用映象作搜尋索引。

一個倉庫有自己專屬的名稱,一般一個倉庫僅存放一個應用的映象,也就是存放同一類應用的不同版本。倉庫名就是應用程式名,比如nginx。不同映象通過新增標籤的方式,來相互區分。因此,倉庫名+標籤才能唯一標識一個映象。如果只給映象名而沒有標籤,則預設訪問最新版本的映象,比如 nginx:stable  nginx:latest。

映象(靜態的)和容器(動態的,存在生命週期)的關係,就是程式和程序的關係。restful 風格的物件,支援增刪查改。使用標準的http協議的方法get,post,put等等。

1.image

2.container

3.networks

4.volumes:儲存容器的,一般是外部網路儲存

5.plugins

 

 

Docker安裝及使用

 

依賴基礎環境:

1.64 bits CPU

2.Linux Kernel 3.10 +

3.Linux Kernel cgroups andnamespaces

4.CentOS7 “Extras” repository

5.Docker Daemon systemctl startdocker.service

 

新增倉庫:

1.編輯daemon.json,新增mirrors

2.Systemctl restart docker

3.Docker version

4.Docker info

原始的命令用法

 

 

1.搜尋映象:docker search nginx

圖片來自睿江雲

2.第一種表示頂級倉庫,也就是docker hub官方;第二種表示jwilder賬號建立的倉庫

3.Alpine:體積非常小,提供基礎的應用環境,可安裝在不同的發行版中。測試的時候可以安裝此版本,不過缺少除錯工具。

最好自己編制映象,上傳到docker hub或者建立私有registry

圖片來自睿江雲

4.下載映象:

圖片來自睿江雲

5.刪除映象:

圖片來自睿江雲

6.啟動容器:

圖片來自睿江雲

7.顯示網路

圖片來自睿江雲

安裝docker後,會預設建立docker 橋172.17.0.1.容器會自動nat到橋上以對外通訊。預設會接入到bridge中。

8.啟動busybox容器

圖片來自睿江雲

9.Pid為1是使用者空間的總程序,如果退出sh,則容器消失。

10.檢視容器的資訊:docker inspect b1

11.與容器通訊,類似虛擬機器之間的通訊

圖片來自睿江雲

12.退出容器exit

圖片來自睿江雲

處於停止狀態的容器

13.終止容器:docker kill b1

14.刪除容器:docker rm b1

15.在容器外指定命令:docker exec –it kvstor1 /bin/sh

更多精彩推薦:

HDFS資料儲存與讀寫過程

人生苦短我用python: eval,exec,compile的使用

使用ctypes呼叫c語言介面+使用virtualenv隔離python環境

【Python課堂】list分片與推導 +map()&reduce()

這些有趣又好用的python庫,值得一玩