Docker整理-Docker安裝
一、前提說明
CentOS Docker安裝
Docker支援以下的CentOS版本:
CentOS 7 (64-bit)
CentOS 6.5 (64-bit)或更高的版本
前提條件
目前,CentOS 僅發行版本中的核心支援Docker。
Docker執行在CentOS 7.上,要求系統為64位、系統核心版本為3.10以上。
Docker執行在CentOS-6.5或更高的版本的CentOS上,要求系統為64位、系統核心版本為2.6.32-431或者更高版本。
二、Docker 的基本組成
docker架構圖
1、映象( image )
Docker映象(lmage)就是-一個只讀的模板。映象可以用來建立Docker容器,個映象可以建立很多容器
2、容器( container)
Docker利用容器(Container) 獨立執行的一個或一組應用。容器是用映象建立的執行例項。
它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。
可以把容器看做是一個簡 易版的Linux環境(包括root使用者許可權、程序空間、使用者空間和網路空間等)和執行在其中的應用程式。
容器的定義和映象幾乎一模一樣,也是一堆層的統一視角, 唯- -區別在於容器的最上面那-層是可讀可寫的。
3、倉庫( repository)
倉庫(Repository) 是集中存放映象檔案的場所。
倉庫(Repository)和倉庫註冊伺服器(Registry
每個映象有不同的標籤(tag) 。
倉庫分為公開倉庫(Public) 和私有倉庫(Private) 兩種形式。
最大的公開倉庫是Docker Hub(ttps://hub. docker.com/)
存放了數量龐大的映象供使用者下載。國內的公開倉庫包括阿里雲、網易雲等
4、小總結
需要正確的理解倉儲/映象/容器這幾個概念:
Docker本身是一個容器執行載體或稱之為管理引擎。我們把應用程式和配置依賴打包好形成一-個可交付的執行環境,這個打好的執行環境就似乎image映象檔案。只有通過這個映象檔案才能生成Docker容器。image檔案可以看作是容器的模板。Docker根據image檔案生成容器的例項。同一個image檔案,可以生成多個同時執行的容器例項。
image檔案生成的容器例項,本身也是一一個檔案,稱為映象檔案。
一個容器執行一種服務,當我們需要的時候,就可以通過docker客戶端建立一-個對應的執行例項,也就是我們的容器。至於倉儲,就是放了一堆映象的地方,我們可以把映象釋出到倉儲中,需要的時候從倉儲中拉下來就可以了。|
三、安裝步驟
1、Centos6.8安裝Docker
1、yum install -y epel-release
2、yum install -y docker-io
3、安裝後的配置檔案: etc/sysconfig/docker
4、啟動 Docker後臺服務: service docker start
5、docker version 驗證
2、Centos7.0安裝Docker
https://docs.docker.com/engine/install/centos/
①、官網中文安裝參考手冊
https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/#prerequisites
②、確定你是CentOS7及以上版本
cat /etc/redhat-release
③、yum安裝gcc相關
CentOS7能上外網
yum -y install gcc yum -y install gcc-c++
④、解除安裝舊版本
yum -y remove docker docker-common docker-selinux docker-engine
⑤、安裝需要的軟體包
yum install -y yum-utils device-mapper-persistent-data lvm2
⑥、設定stable映象倉庫
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
⑦、更新yum軟體包索引
yum makecache fast
⑧、安裝DOCKER CE
yum -y install docker-ce
⑨、啟動docker
systemctl start docker
⑩、測試
docker version docker run hello-world
⑪、配置映象加速
mkdir -p /etc/docker vim /etc/docker/daemon.json #網易雲 {"registry-mirrors": ["http://hub-mirror.c.163.com"] } #阿里雲 { "registry-mirrors": ["https://{自已的編碼}.mirror.aliyuncs.com"] } systemctl daemon-reload systemctl restart docker
- 16
⑫、解除安裝
systemctl stop docker yum -y remove docker-ce rm -rf /var/lib/docker
四、永遠的helloworld
1、阿里雲映象加速
①、是什麼
https://promotion.aliyun.com/ntms/act/kubernetes.html
②、註冊一個屬於自己的阿里雲賬戶( 可複用淘寶賬號)
③、獲得加速器地址連線
登入阿里雲開發者平臺
獲取加速器地址
④、配置本機Docker執行映象加速器
鑑於國內網路問題,後續拉取Docker映象十分緩慢,我們可以需要配置加速器來解決,
我使用的是阿里雲的本人自己賬號的映象地址(需要自己註冊有一個屬於你自己的): ht:po/. mirror aliyuncns .com
- vim /etc/sysconfig/docker
將獲得的自己賬戶下的阿里雲加速地址配置進
other_ args-="–registry-mirror=https://你自 己的賬號加速資訊.mirror .aliyuncs.com
⑤、重新啟動 Docker 後臺服務:service docker restart
⑥、Linux系統下配置完加速器需要檢查是否生效
如果從結果中看到了配置的–registry-mirror引數說明配置成功,如下所示:
2、網易雲加速
基本上同上述阿里雲,配置Json串的地方不同了:
{ "registry-mirrors": ["http://hub-mirror.c.163.com"] }
3、啟動Docker後臺容器(測試執行 hello-world )
①、docker run hello world
輸出這段提示以後,hello world就會停止執行,容器自動終止。
②、run幹了什麼
五、底層原理
1、Docker是怎樣工作的
Docker是一個Client-Server結構的系統,Docker守 護程序執行在主機上,然後通過Socket連 接從客戶端訪問,守護程序從客戶端接受命令並管理執行在主機上的容器。容器,是一個執行時環境,就是我們前面說到的集裝箱。
2、為什麼Docker比較比vm快
1、docker有著比虛擬機器更少的抽象層。由亍docker不需要Hypervisor實現硬體資源虛擬化,執行在docker容器上的程式直接使用的都是實際物理機的硬體資源。因此在CPU、記憶體利用率上docker將會在效率上有明顯優勢。
2、docker利用的是宿主機的核心,而不需要Guest OS。因此,當新建一個 容器時,docker不需要和虛擬機器一樣 重新載入- - 個作業系統核心仍而避免引尋、載入作業系統核心返個比較費時費資源的過程,當新建–個虛擬機器時,虛擬機器軟體需要載入GuestOS,返個新建過程是分鐘級別的。而docker由於直接利用宿主機的作業系統,則省略了返個過程,因此新建一-個docker容器只需要幾秒鐘。