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 或者更高版本。
查看自己的內核
uname命令用於打印當前系統相關信息(內核版本號、硬件架構、主機名稱和操作系統類型等)。(CentOS6.8有,CentOS7無該命令)
在這裏插入圖片描述
二. CentOS6.8安裝Docker

  1. yum install -y epel-release
    Docker使用EPEL發佈,RHEL系的OS首先要確保已經持有EPEL倉庫,否則先檢查OS的版本,然後安裝相應的EPEL包。

  2. yum install -y docker-io
    我本機安裝的是6.10版本,報錯:No package docker-io available.執行以下命令:
    yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm

  3. 安裝後的配置文件:/etc/sysconfig/docker

  4. 啓動Docker後臺服務:service docker start

  5. docker version驗證
    在這裏插入圖片描述

三. CentOS7安裝Docker

  1. 官網中文安裝參考手冊
    https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/#prerequisites
    https://docs.docker.com/install/linux/docker-ce/centos/

  2. 確定你是CentOS7及以上版本

    cat /etc/redhat-release
    
  3. yum安裝gcc相關
    CentOS7能上外網
    在這裏插入圖片描述

    yum -y install gcc
    yum -y install gcc-c++
    
  4. 卸載舊版本

    yum -y remove docker docker-common docker-selinux docker-engine
    

2018.3官網版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
  1. 安裝需要的軟件包
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 設置stable鏡像倉庫
 # 大坑
 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 報錯
1   [Errno 14] curl#35 - TCP connection reset by peer
2   [Errno 12] curl#35 - Timeout

# 推薦
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 更新yum軟件包索引
yum makecache fast
  1. 安裝Docker CE
yum -y install docker-ce
  1. 啓動Docker
systemctl start docker
  1. 測試
docker version
docker run hello-world
  1. 配置鏡像加速
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
  1. 卸載
systemctl stop docker 
yum -y remove docker-ce
rm -rf /var/lib/docker

四. 永遠的HelloWorld

  • 阿里雲鏡像加速
    https://dev.aliyun.com/search.html

  • 註冊一個屬於自己的阿里雲賬戶(可複用淘寶賬號)

  • 獲得加速器地址連接

    登陸阿里雲開發者平臺
    獲取加速器地址
    在這裏插入圖片描述

  • 配置本機Docker運行鏡像加速器
    鑑於國內網絡問題,後續拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決,
    我使用的是阿里雲的本人自己賬號的鏡像地址(需要自己註冊有一個屬於你自己的): https://xxxx.mirror.aliyuncs.com
    vim /etc/sysconfig/docker
    將獲得的自己賬戶下的阿里雲加速地址配置進
    other_args="–registry-mirror=https://你自己的賬號加速信息.mirror.aliyuncs.com"

  • 重新啓動Docker後臺服務:service docker restart

  • 啓動Docker後臺容器(測試運行 hello-world)

docker run hello-world
# 輸出這段提示以後,hello world就會停止運行,容器自動終止。

五. 底層原理

  • Docker是怎麼工作的
    Docker是一個Client-Server結構的系統,Docker守護進程運行在主機上, 然後通過Socket連接從客戶端訪問,守護進程從客戶端接受命令並管理運行在主機上的容器。 容器,是一個運行時環境,就是我們前面說到的集裝箱。
  • 爲什麼Docker比較比VM快
    (1)docker有着比虛擬機更少的抽象層。由亍docker不需要Hypervisor實現硬件資源虛擬化,運行在docker容器上的程序直接使用的都是實際物理機的硬件資源。因此在CPU、內存利用率上docker將會在效率上有明顯優勢。
    (2)docker利用的是宿主機的內核,而不需要Guest OS。因此,當新建一個容器時,docker不需要和虛擬機一樣重新加載一個操作系統內核。進而避免引尋、加載操作系統內核返個比較費時費資源的過程,當新建一個虛擬機時,虛擬機軟件需要加載Guest OS,這個新建過程是分鐘級別的。而docker由於直接利用宿主機的操作系統,則省略了這個過程,因此新建一個docker容器只需要幾秒鐘。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章