這一小節(jié)我們介紹一下 Docker 安裝與運(yùn)行,在開(kāi)始之后,我們需要明白的時(shí)候,Docker 有兩個(gè)版本:一個(gè)是商業(yè)版收費(fèi)的:Enterprice Edition,一般簡(jiǎn)稱(chēng) Docker EE;另一個(gè)是社區(qū)版,也就是 Community Edition,一般簡(jiǎn)稱(chēng)為 Docker CE。
這里安裝我們會(huì)介紹在 Linux 平臺(tái)、Mac 平臺(tái)、Windows 平臺(tái)的安裝。重點(diǎn)會(huì)介紹一下在 Linux 平臺(tái)的安裝,Linux 平臺(tái)又會(huì)細(xì)分兩個(gè):Centos 和 Ubuntu。
1. Linux 安裝
Linux 下安裝 Docker 我們將主要介紹 Centos 和 Ubuntu 系統(tǒng)
Centos
我們這里的示例 OS 版本是 Centos 7.4,使用命令 lsb_release -a
可以看到系統(tǒng)版本。
# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
在 Centos 下面安裝我們可以采用兩種安裝方式,一種是 yum 安裝,一種是下載 rpm 包進(jìn)行安裝。
yum 安裝
yum 安裝需要確保 yum 源里面含有 Docker 軟件包,國(guó)內(nèi)的話推薦使用阿里云的 yum 源。如果要查看自己的系統(tǒng)的 yum 源,可以在目錄 /etc/yum.repos.d/
下查看,下面是我自己的阿里云的 ecs 虛擬機(jī) yum 源文件,包含兩個(gè)部分:CentOS-Base.repo
和 epel.repo
。內(nèi)容分別如下
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/epel/7/$basearch
gpgcheck=0
gpgkey=http://mirrors.cloud.aliyuncs.com/epel/RPM-GPG-KEY-EPEL-7
使用阿里云的 yum 源安裝 Docker 非常簡(jiǎn)單,強(qiáng)烈建議各位同學(xué)配置阿里云的 yum 源。安裝使用下面一條命令即可:
yum install docker
執(zhí)行完之后,可以通過(guò)如下命令查看 Docker 的版本:
# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
這個(gè)輸出表示 Docker 的版本是 1.13.1。細(xì)心的同學(xué)會(huì)注意到最后一句提示,是因?yàn)?Docker Daemon 進(jìn)程還沒(méi)有啟動(dòng),啟動(dòng)命令如下:
service docker start
或者:
systemctl start docker.service
啟動(dòng)完之后,我們就可以通過(guò) docker 的命令來(lái)查看 Docker 是不是運(yùn)行正常了,比如使用 docker images
查看本地所有的鏡像。如下輸出是正常的。
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
下載 rpm 包安裝
哪里下載呢?當(dāng)然是 dockerhub,截圖如下圖所示:
其中 containerd 和 docker-ce-cli 是 docker-ce 安裝的前置條件,也就是要安裝 docker-ce,需要先安裝 containerd 和 docker-ce-cli。版本之間保證 docker-ce 和 docker-ce-cli 的版本一致,containerd 的版本盡可能新就 ok。下載到本地之后,使用 yum 安裝。
yum install <pkg_name>.rpm
我這里選的版本是:
- docker-ce-cli-19.03.5-3.el7.x86_64.rpm
- containerd.io-1.2.6-3.3.el7.x86_64.rpm
- docker-ce-19.03.5-3.el7.x86_64.rpm
按上面的順序安裝之后啟動(dòng) docker
systemctl start docker.service
我們看一下 docker version:
# docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:25:41 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:24:18 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
這個(gè)要比阿里云的 Yum 源中的 Docker 版本高很多,如果需要新的版本的 feature 的話,建議自己下載對(duì)應(yīng)的 rpm 包進(jìn)行安裝。
Ubuntu
我們知道 ubuntu 的包管理是通過(guò) apt-get 來(lái)做的,但是默認(rèn)的 apt-get 里面是沒(méi)有包含 docker 的軟件包的,我們需要將 Docker 的官方倉(cāng)庫(kù)加進(jìn)來(lái)。
apt-get 安裝
更新 ubuntu 的 apt 源索引
sudo apt-get update
安裝包允許apt通過(guò)HTTPS使用倉(cāng)庫(kù)
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
設(shè)置Docker穩(wěn)定版?zhèn)}庫(kù)
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
添加倉(cāng)庫(kù)后,更新apt源索引
sudo apt-get update
安裝 Docker CE,不如過(guò)不輸入 Version,則默認(rèn)安裝最新版本
sudo apt-get install docker-ce=<VERSION>
啟動(dòng) Docker
systemctl start docker.service
使用這種方式安裝的最大劣勢(shì)就是 Docker 官方倉(cāng)庫(kù)和我們國(guó)內(nèi)的機(jī)器網(wǎng)速捉急,相比之下將 deb 包下載到本地再進(jìn)行安裝往往是一種更好的安裝方式。
deb 軟件包安裝
軟件包下載地址為:https://download.docker.com/linux/ubuntu/dists/,這個(gè)地方先選擇自己的 ubuntu 版本,比如我們選擇 artful,則軟件包的完整路徑為:https://download.docker.com/linux/ubuntu/dists/artful/pool/stable/amd64/
然后我們選擇一個(gè) docker-ce 版本,直接本地安裝即可。
sudo dpkg -i <deb pkg name>
2. Mac 安裝
Mac 版本的安裝頁(yè)面地址為:https://docs.docker.com/v17.09/docker-for-mac/install/#download-docker-for-mac 。Docker 針對(duì) Mac 平臺(tái)提供了兩個(gè)不同的版本:
- stable: 穩(wěn)定版
- edge: 最新的 release,穩(wěn)定性不保障
然后我們通過(guò)上圖中 “Get Docker for Mac” 鏈接獲取 dmg 安裝文件。
啟動(dòng) Docker
啟動(dòng),找到你的 Application 中的下面這個(gè) Docker 圖標(biāo),點(diǎn)擊運(yùn)行即可。
啟動(dòng)之后,我們可以在導(dǎo)航欄上發(fā)現(xiàn)這么一個(gè)小圖標(biāo),就表示 Docker 運(yùn)行成功了。
3. Windows 安裝
Windows 安裝鏈接:https://docs.docker.com/v17.09/docker-for-windows/install/#download-docker-for-windows ,和 Mac 版類(lèi)似,提供了 stable 和 edge 版本。我們只需要下載對(duì)應(yīng)的版本的可執(zhí)行文件進(jìn)行安裝即可。啟動(dòng)也是類(lèi)似的,這里就不再贅述了。