0%

docker安装(全平台)

2017年2月8日,docker更新到1.13.1(更新日志),此后又分为了docker CE(社区版)和docker EE(商业版)。

官方一键安装

1
2
3
4
5
6
7
8
$ sudo wget -qO- https://get.docker.com/ | bash

$ # 如果上面的不行,执行下面两句
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

$ # 安装成功执行下面语句,如果有类似回显,说明安装成功
$ docker --version

官方出品的一键安装脚本(脚本会区分不同的操作系统且脚本会安装体验版(edge版)而不是稳定版(stable版)且最好不要用于生产环境

https://github.com/docker/docker-install

CentOS版docker一键安装脚本

  • 非国内版,比如国外VPS(网络畅通
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
# remove old version
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

# remove all docker data
sudo rm -rf /var/lib/docker

# preinstall utils
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

# add repository
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

# make cache
sudo yum makecache fast

# install the latest stable version of docker
sudo yum install -y docker-ce

# start deamon and enable auto start when power on
sudo systemctl start docker
sudo systemctl enable docker

# add current user
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
  • 国内版,需要设置网络加速,国内和docker官网网络不通
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
# 移除掉旧的版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

# 删除所有旧的数据
sudo rm -rf /var/lib/docker

# 安装依赖包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

# 添加源,使用了阿里云镜像
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 配置缓存
sudo yum makecache fast

# 安装最新稳定版本的docker
sudo yum install -y docker-ce

# 配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF

# 启动docker引擎并设置开机启动
sudo systemctl start docker
sudo systemctl enable docker

# 配置当前用户对docker的执行权限
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker

CentOS安装docker

系统要求

  • 安装docker CE需要CentOS 7的维护版本,存档版本(没在维护的版本)不支持
  • 必须开启centos-extras仓库,默认是打开的,如果被关闭了,需要重新打开(https://wiki.centos.org/AdditionalResources/Repositories)
  • 推荐使用overlay2存储驱动,overlay也可以但是不推荐。overlay2要求Linux内核为4.0+

卸载旧版本

旧版本的docker叫做docker或者docker-engine ,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
/var/lib/docker/目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。

1
2
3
4
5
6
7
8
9
10
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

安装

有三种安装办法:

  • 在软件源内添加docker,并且安装,这样安装和升级比较方便,官方推荐。
  • 下载RPM包手动安装,手动升级,一般在与互联网隔绝的情况下使用此方法。
  • 官方一键安装脚本。

添加源进行安装

首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。

设置仓库

安装依赖包,yum-utils提供yum-config-manager工具,devicemapper存储驱动需要device-mapper-persistent-datalvm2

1
2
3
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

使用下面的命令安装稳定版仓库,即使安装最新体验版或者是测试版也需要稳定版仓库。

1
2
3
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

可选:体验版和测试版默认是关闭的,你可以通过下面的命令打开,不打开也不影响稳定版的使用。

1
2
3
4
5
6
7
$ # 打开体验版与测试版
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test

$ # 关闭体验版与测试版
$ sudo yum-config-manager --disable docker-ce-edge
$ sudo yum-config-manager --disable docker-ce-test

注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里

安装docker CE

安装最新版本的docker CE

1
$ sudo yum install -y docker-ce

安装指定版本的docker CE 列出版本,版本号从高到低

1
$ yum list docker-ce --showduplicates | sort -r

安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本 18.03.0.ce-1.el7.centos ,其命令为

1
$ sudo yum install -y docker-ce-18.03.0.ce

启动docker CE

1
sudo systemctl start docker

从RPM包安装

RPM包在没有网络的时候就特别管用了,找一台有网络的电脑下载RPM包,这个官方地址列出了所有CentOS版本的docker,选择一个进行下载。
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

1
$ sudo yum install -y docker-ce-18.09.0-3.el7.x86_64.rpm

卸载

移除docker

1
$ sudo yum remove docker-ce

移除镜像,容器,卷,网络,自定义文件等

1
$ sudo rm -rf /var/lib/docker

Ubuntu安装docker

系统要求

需要64bit的以下任何Ubuntu版本:

  • Bionic 18.04 (LTS)
  • Xenial 16.04 (LTS)
  • Trusty 14.04 (LTS)

CE支持x86_64, armhf, s390x (IBM Z), and ppc64le (IBM Power)架构的Ubuntu

注意ppc64les390x架构下,只支持Xenial以上的Ubuntu

卸载旧版本

旧版本的docker叫做docker或者docker-engine ,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
/var/lib/docker/目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。

1
$ sudo apt-get remove docker docker-engine docker.io containerd runc

支持的存储驱动

Ubuntu上的docker CE支持overlay2aufs存储驱动

  • Linux 4.X内核极其以上才支持overlay2,并且overlay2表现的比aufs好
  • Linux 3.X内核不支持overlay或overlay2,但是支持aufs

除非有特殊理由要用aufs没否则不建议,如果要使用aufs,需要额外的准备工作:

  • Trusty 14.04:
1
2
3
4
5
6
$ # 安装linux-image-extra-*包,让docker支持aufs
$ sudo apt-get update

$ sudo apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual

安装

有三种安装办法:

  • 在软件源内添加docker,并且安装,这样安装和升级比较方便,推荐这种方法。
  • 下载DEB包手动安装,手动升级,一般在与互联网隔绝的情况下使用此方法。
  • 官方一键安装脚本。

添加源进行安装

首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。

设置仓库

升级apt包索引

1
$ sudo apt-get update

安装能够让apt使用HTTPS的包

1
2
3
4
5
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common

添加官方的GPG key

1
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

设置稳定版源
必须安装稳定版源,即使安装体验版或者测试版也需要稳定版源,不同架构的机器需要不同安装命令,lsb_release -cs命令会返回是哪种Debian发行版,比如xenial,如果想安装体验版(edge)或者测试版(test),将命令中的stable换成相应的字符串即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$ # x86_64 / amd64架构
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"


$ # armhf架构
$ sudo add-apt-repository \
"deb [arch=armhf] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"


$ # arm64架构
$ sudo add-apt-repository \
"deb [arch=arm64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"


$ # IBM Power (ppc64le)
$ sudo add-apt-repository \
"deb [arch=ppc64el] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"


$ # IBM Z (s390x)
$ sudo add-apt-repository \
"deb [arch=s390x] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里

安装docker CE

升级apt包索引

1
$ sudo apt-get update

安装最新版本的docker CE

1
$ sudo apt-get install docker-ce

注意:如果安装了多个docker仓库,使用apt-get install或者apt-get update命令时后面不跟版本信息的话,将始终安装最高版本的docker!

安装指定版本的docker CE 列出版本,版本号从高到低

1
2
$ apt-cache madison docker-ce
docker-ce | 18.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages

安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本 18.09.0~ce-0~ubuntu ,其命令为

1
$ sudo apt-get install docker-ce=18.03.0~ce-0~ubuntu

其他版本同理 docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动
如果需要升级的话,首先执行sudo apt-get update,再重复上面的过程即可。

从DEB包安装

DEB包在没有网络的时候就特别管用了,找一台有网络的电脑下载DEB包,这个官方地址列出了所有Debian版本的docker,选择一个进行下载。
https://download.docker.com/linux/ubuntu/dists/
在浏览器打开上述地址,导航至pool/stable/,根据自己的架构amd64, armhf, ppc64el, or s390x下载.deb文件

执行

1
$ sudo dpkg -i docker-ce_18.06.1_ce_3-0_ubuntu_amd64.deb

docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动

卸载

移除docker

1
$ sudo apt-get purge docker-ce

移除镜像,容器,卷,网络,自定义文件等

1
$ sudo rm -rf /var/lib/docker

Debian安装docker

系统要求

需要64bit的以下任何Debian或Raspbian版本

  • Buster 10 (Docker CE 17.11 Edge only)
  • Stretch 9 (stable) / Raspbian Stretch
  • Jessie 8 (LTS) / Raspbian Jessie
  • Wheezy 7.7 (LTS)

卸载旧版本

旧版本的docker叫做docker或者docker-engine ,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
/var/lib/docker/目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。

1
$ sudo apt-get remove docker docker-engine docker.io containerd runc

如果是Wheezy 7.7则需要Linux内核版本至少为3.10,查看内核版本,并且需要打开backports仓库

1
$ uname -r

安装

有三种安装办法:

  • 在软件源内添加docker,并且安装,这样安装和升级比较方便,除了Raspbian外推荐这种方法。
  • 下载DEB包手动安装,手动升级,一般在与互联网隔绝的情况下使用此方法。
  • 官方一键安装脚本,Raspbian用户只能通过此法安装

添加源进行安装

首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。

设置仓库

升级apt包索引

1
$ sudo apt-get update

安装能够让apt使用HTTPS的包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ # Jessie或者更新的版本执行下面命令
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common

$ # Wheezy或者更旧的版本执行下面命令
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
python-software-properties

添加官方的GPG key

1
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

设置稳定版源
必须安装稳定版源,即使安装体验版或者测试版也需要稳定版源,不同架构的机器需要不同安装命令,lsb_release -cs命令会返回是哪种Debian发行版,比如jessie,如果想安装体验版(edge)或者测试版(test),将命令中的stable换成相应的字符串即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ # x86_64 / amd64架构
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"


$ # armhf架构
$ echo "deb [arch=armhf] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list


$ # arm64架构
$ echo "deb [arch=arm64] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list

如果发行版是Wheezy:Wheezy上的add-apt-repository版本添加了一个不存在的deb-src库,编辑/etc/apt/sources.list,注释或移除类似下面的语句

1
deb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable

注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里

安装docker CE
注意:以下安装过程只支持Debian x86_64 / amd64Debian ARMRaspbian

升级apt包索引

1
$ sudo apt-get update

安装最新版本的docker CE

1
$ sudo apt-get install docker-ce

注意:如果安装了多个docker仓库,使用apt-get install或者apt-get update命令时后面不跟版本信息的话,将始终安装最高版本的docker!

安装指定版本的docker CE
列出版本,版本号从高到低

1
2
$ apt-cache madison docker-ce
docker-ce | 18.09.0~ce-0~debian | https://download.docker.com/linux/debian jessie/stable amd64 Packages

安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本 18.03.0.ce-1.el7.centos ,其命令为

1
$ sudo apt-get install docker-ce-18.03.0.ce

其他版本同理
docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动
如果需要升级的话,首先执行sudo apt-get update,再重复上面的过程即可。

从DEB包安装

DEB包在没有网络的时候就特别管用了,找一台有网络的电脑下载DEB包,这个官方地址列出了所有Debian版本的docker,选择一个进行下载。
https://download.docker.com/linux/debian/dists/
在浏览器打开上述地址,导航至pool/stable/,根据自己的架构amd64, armhf, or arm64下载.deb文件

执行

1
$ sudo dpkg -i docker-ce_17.06.2_ce-0_debian_amd64.deb

docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动

卸载

移除docker

1
$ sudo apt-get purge docker-ce

移除镜像,容器,卷,网络,自定义文件等

1
$ sudo rm -rf /var/lib/docker

Fedora安装docker

经常和Ubuntu比较的发行版,和Ubuntu最大的不同可能就是包管理不一样。

系统要求

需要64bit的以下任何Fedora版本

  • 26
  • 27
  • 28

卸载旧版本

旧版本的docker叫做docker或者docker-engine ,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
/var/lib/docker/目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。

1
2
3
4
5
6
7
8
9
10
$ sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

安装

有三种安装办法:

  • 在软件源内添加docker,并且安装,这样安装和升级比较方便,这是推荐的方法。
  • 下载RPM包手动安装,手动升级,一般在与互联网隔绝的情况下使用此方法。
  • 官方一键安装脚本。

添加源进行安装

首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。

设置仓库

安装 dnf-plugins-core,它提供了从命令行管理DNF源的工具。

1
$ sudo dnf -y install dnf-plugins-core
  1. 使用下面的命令安装稳定版仓库,即使安装最新体验版或者是测试版也需要稳定版仓库。
1
2
3
$ sudo dnf config-manager \
--add-repo \
https://download.docker.com/linux/fedora/docker-ce.repo

可选:体验版和测试版默认是关闭的,你可以通过下面的命令打开,不打开也不影响稳定版的使用。

1
2
3
4
5
6
7
$ # 打开体验版与测试版
$ sudo dnf config-manager --set-enabled docker-ce-edge
$ sudo dnf config-manager --set-enabled docker-ce-test

$ # 关闭体验版与测试版
$ sudo dnf config-manager --set-disabled docker-ce-edge
$ sudo dnf config-manager --set-disabled docker-ce-test

注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里

安装docker CE

安装最新版本的docker CE

1
$ sudo dnf install docker-ce

以上命令始终安装docker CE最新版本,如果提示接受GPG key,官方说检查指纹是否是
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,是的话,就接受,不过我在安装的过程中没有遇见。
注意:如果安装了多个docker仓库,使用dnf install或者dnf update命令时后面不跟版本信息的话,将始终安装最高版本的docker!

安装指定版本的docker CE列出版本,版本号从高到低

1
2
$ dnf list docker-ce  --showduplicates | sort -r
docker-ce.x86_64 18.09.0.fc26 docker-ce-stable

安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本 18.03.0.ce-1.el7.centos ,其命令为

1
$ sudo dnf -y install docker-ce-18.03.0.ce

其他版本同理
启动docker CE
启动其实是启动docker deamon,即docker守护进程/docker引擎

1
$ sudo systemctl start docker

以上即是CentOS从仓库中安装docker CE的全部过程,如果需要升级的话,移除之前的docker,再重复上面的过程即可。

从RPM包安装

RPM包在没有网络的时候就特别管用了,找一台有网络的电脑下载RPM包,这个官方地址列出了所有Fedora版本的docker,选择一个进行下载。
https://download.docker.com/linux/fedora/

执行

1
$ sudo dnf -y install docker-ce-17.03.0.ce-1.fc24.x86_64.rpm

启动守护进程

1
$ sudo systemctl start docker

卸载

移除docker

1
$ sudo dnf remove docker-ce

移除镜像,容器,卷,网络,自定义文件等

1
$ sudo rm -rf /var/lib/docker

Windows10安装docker

安装之前必读

其实在开始在windows上并没有docker,因为docker的是需要Linux内核的支持的,现在的做法是在windows上安装一个Linux虚拟器,docker引擎其实是在Linux虚拟机里面跑着的。

然而现在安装docker的时候会让选择是用Linux容器还是Windows容器,一般情况下还是选择Linux容器,如果你的程序最终会在Linux运行。

windows版docker需要Microsoft Hyper-V的支持,即windows内置的虚拟机引擎,从win10开始支持,docker在安装的时候会自动开启,需要重启电脑。

如果没有Microsoft Hyper-V,请考虑docker toolbox https://docs.docker.com/desktop/

系统要求

  • Windows 10 64bit,专业版、企业版或教育版(1607周年更新版,build 14393或更新)
  • BIOS要开启虚拟化,一般会自动开启
  • CPU SLAT 支持
  • 至少4GB内存

安装

进入https://hub.docker.com/editions/community/docker-ce-desktop-windows下载`Docker for Windows Installer.exe`

双击Docker for Windows Installer.exe然后一路下一步,安装完成!

运行

安装完成后docker不会自动运行,搜索docker点击运行。

macOS安装docker

https://docs.docker.com/get-docker/