Docker實踐之01-入門介紹

目錄

一.Docker概述

Docker是利用Linux內核技術實現的操做系統層級的虛擬化。
Docker是什麼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

1.在CentOS上安裝Docker

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

2.在Ubuntu上安裝Docker

使用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

3.啓動docker

# 將Docker加入開啓啓動
$ sudo systemctl enable docker
# 啓動Docker
$ sudo systemctl start docker

4.創建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

5.測試Docker是否安裝成功

注意: 在執行以下測試以前,必定要退出當前終端從新登陸,不然會提示當前用戶沒有鏈接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鏡像加速器爲例說明.

Ubuntu 14.04/Debian 7 Wheezy

對於使用upstart的系統而言,編輯/etc/default/docker文件,在其中的DOCKER_OPTS中添加得到的加速器配置:
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com"

從新啓動服務。

$ sudo service docker restart

Ubuntu 16.04+/Debian 8+/CentOS 7

對於使用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更換爲國內鏡像

相關文章
相關標籤/搜索