Docker支持如下的CentOS版本:linux
目前,CentOS 僅發行版本中的內核支持 Docker。c++
Docker 運行在 CentOS 7 上,要求系統爲64位、系統內核版本爲 3.10 以上。docker
Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統爲64位、系統內核版本爲 2.6.32-431 或者更高版本。centos
uname命令用於打印當前系統相關信息(內核版本號、硬件架構、主機名稱和操做系統類型等)。安全
查看已安裝的CentOS版本信息服務器
[hwj@hwjsLinux ~]$ uname -r 3.10.0-862.el7.x86_64 [hwj@hwjsLinux ~]$ cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
鏡像(image)網絡
Docker 鏡像(Image)就是一個只讀的模板。鏡像能夠用來建立 Docker 容器,一個鏡像能夠建立不少容器。架構
容器(container)app
Docker 利用容器(Container)獨立運行的一個或一組應用。容器是用鏡像建立的運行實例。測試
它能夠被啓動、開始、中止、刪除。每一個容器都是相互隔離的、保證安全的平臺。
能夠把容器看作是一個簡易版的 Linux 環境(包括root用戶權限、進程空間、用戶空間和網絡空間等)和運行在其中的應用程序。
容器的定義和鏡像幾乎如出一轍,也是一堆層的統一視角,惟一區別在於容器的最上面那一層是可讀可寫的。
倉庫(repository)
倉庫(Repository)是集中存放鏡像文件的場所。
倉庫(Repository)和倉庫註冊服務器(Registry)是有區別的。倉庫註冊服務器上每每存放着多個倉庫,每一個倉庫中又包含了多個鏡像,每一個鏡像有不一樣的標籤(tag)。
倉庫分爲公開倉庫(Public)和私有倉庫(Private)兩種形式。
最大的公開倉庫是 Docker Hub,存放了數量龐大的鏡像供用戶下載。國內的公開倉庫包括阿里雲 、網易雲 等
小總結
須要正確的理解倉儲/鏡像/容器這幾個概念:
Docker 自己是一個容器運行載體或稱之爲管理引擎。咱們把應用程序和配置依賴打包好造成一個可交付的運行環境,這個打包好的運行環境就彷佛 image鏡像文件。只有經過這個鏡像文件才能生成 Docker 容器。
image 文件能夠看做是容器的模板。Docker 根據 image 文件生成容器的實例。同一個 image 文件,能夠生成多個同時運行的容器實例。
image 文件生成的容器實例,自己也是一個文件,稱爲鏡像文件。
一個容器運行一種服務,當咱們須要的時候,就能夠經過docker客戶端建立一個對應的運行實例,也就是咱們的容器
至於倉儲,就是放了一堆鏡像的地方,咱們能夠把鏡像發佈到倉儲中,須要的時候從倉儲中拉下來就能夠了。
官網文檔
肯定你是CentOS7及以上版本
[root@hwjsLinux hwj]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
yum安裝gcc相關
CentOS7能上外網
yum -y install gcc
yum -y install gcc-c++
檢測安裝成功:
gcc -v
卸載舊版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ 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
配置阿里雲鏡像加速器
卸載
systemctl stop docker
yum -y remove docker-ce
rm -rf /var/lib/docker
Docker是一個Client-Server結構的系統,Docker守護進程運行在主機上, 而後經過Socket鏈接從客戶端訪問,守護進程從客戶端接受命令並管理運行在主機上的容器。 容器,是一個運行時環境,就是咱們前面說到的集裝箱。
docker有着比虛擬機更少的抽象層。由亍docker不須要Hypervisor實現硬件資源虛擬化,運行在docker容器上的程序直接使用的都是實際物理機的硬件資源。所以在CPU、內存利用率上docker將會在效率上有明顯優點。
docker利用的是宿主機的內核,而不須要Guest OS。所以,當新建一個容器時,docker不須要和虛擬機同樣從新加載一個操做系統內核。仍而避免引尋、加載操做系統內核返個比較費時費資源的過程,當新建一個虛擬機時,虛擬機軟件須要加載Guest OS,返個新建過程是分鐘級別的。而docker因爲直接利用宿主機的操做系統,則省略了返個過程,所以新建一個docker容器只須要幾秒鐘。