1. 程式人生 > 其它 >Docker整理-Docker安裝

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容器只需要幾秒鐘。