Docker是利用Linux內核技術實現的操做系統層級的虛擬化。
html
Docker三大組件:鏡像,容器,倉庫。linux
鏡像是由多層存儲所構成,下載也是一層層的去下載,並不是單一文件。
鏡像的基礎是底層AUFS的支持.git
使用鏡像運行的實例,鏡像與容器的關係類比Java中類與對象的關係。github
https://docs.docker.com/registry/ 介紹什麼是Docker Registry及如何使用docker
1.經常使用的Docker鏡像倉庫公開服務shell
2.國內鏡像加速器和鏡像公開服務
國內雲服務上提供的針對Docker Hub
的鏡像服務,被稱爲加速器。
使用加速器會直接從國內的地址下載Docker Hub
的鏡像,比直接從Docker Hub
下載速度會提升不少。國內的加速器包括:json
國內也有一些雲服務商提供相似於Docker Hub的公開服務:ubuntu
Docker CE支持64位版本CentOS 7,而且要求內核版本不低於3.10。
OS:CentOS Linux release 7.4.1708 (Core)
內核版本:Linux version 3.10.0-693.el7.x86_64centos
(1)在正式開始安裝以前,先添加國內的yum源(直接使用官方源,下載很是慢):緩存
$ wget https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo $ mv docker-ce.repo /etc/yum.repos.d/ $ yum makecache fast #更新yum源緩存
(2)安裝依賴:
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
(3)安裝docker ce(docker社區版):
$ sudo yum install docker-ce
使用APT安裝:因爲apt源使用HTTPS以確保軟件下載過程當中不被篡改。所以,咱們首先須要添加使用HTTPS傳輸的軟件包以及CA證書。
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
鑑於網絡問題,使用國內源下載(以下使用中國科學技術大學的鏡像源)。
(1)爲了確認所下載軟件包的合法性,須要添加軟件源的GPG密鑰。
$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
(2)向source.list中添加Docker軟件源
$ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
以上命令會添加穩定版本的Docker CE APT鏡像源,若是須要最新或者測試版本的Docker CE,請將stable改成edge或者test。從Docker 17.06開始,edge、test版本的APT鏡像源也會包含穩定版本的Docker。
(3)安裝Docker CE
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
特別地,若是使用上述方式沒法安裝Docker,可使用以下方式安裝。
## 這樣安裝的docker版本可能比較低 $ sudo apt install docker.io
# 將Docker加入開啓啓動 $ sudo systemctl enable docker # 啓動Docker $ sudo systemctl start docker
默認狀況下,docker命令會使用Unix Socket與Docker引擎通訊,只有root用戶和docker組的用戶才能夠訪問Docker引擎的Unix Socket。出於安全考慮,通常不會直接使用root用戶,因此須要先創建docker組,並將當前用戶添加到docker組中。
$ sudo groupadd docker $ sudo usermod -aG docker $USER
退出當前終端並從新登陸,測試docker是否安裝成功。
# 查看Docker版本 $ docker --version Docker version 18.09.4, build d14af54266
注意: 在執行以下測試以前,必定要退出當前終端從新登陸,不然會提示當前用戶沒有鏈接Docker引擎的Unix Socket權限,切記!
$ docker run hello-world
在Ubuntu18.04 LTS桌面版上使用時,安裝完畢Docker,並將當前用戶添加到docker組以後須要重啓機器才能使用Docker啓動容器,不然會報權限錯誤:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.
國內從Docker Hub拉取鏡像有時會很是慢,此時能夠配置鏡像加速器。
以下以配置163鏡像加速器爲例說明.
對於使用upstart的系統而言,編輯/etc/default/docker文件,在其中的DOCKER_OPTS中添加得到的加速器配置:
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com"
從新啓動服務。
$ sudo service docker restart
對於使用systemd的系統,在/etc/docker/daemon.json中寫入以下內容(若是文件不存在須要新建該文件)
{ "registry-mirrors": [ "http://hub-mirror.c.163.com" ] }
以後從新啓動服務。
$ sudo systemctl daemon-reload $ sudo systemctl restart docker
【參考】
https://github.com/yeasy/docker_practice Docker從入門到實踐
https://www.gitbook.com/book/yeasy/docker_practice/details Docker — 從入門到實踐
http://www.docker.org.cn/book/docker/what-is-docker-16.html docker手冊
https://www.w3cschool.cn/docker/ docker教程
http://www.runoob.com/docker/docker-tutorial.html docker教程
https://docs.docker.com/install/linux/docker-ce/ubuntu/ Docker官方手冊
https://www.jianshu.com/p/84b6fe281b4d docker更換爲國內鏡像