2017年2月8日,docker更新到1.13.1(更新日志),此后又分为了docker CE(社区版)和docker EE(商业版)。
此处只分享docker CE安装方法,商业版多了容器资源监控和镜像扫描的功能,普通用户用不到。
如果是你是懒人,在服务器版本直接执行官方出品的一键安装脚本(脚本会区分不同的操作系统且脚本会安装体验版(edge版)而不是稳定版(stable版)且最好不要用于生产环境,脚本Github地址)。
$ 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
Docker version 18.06.1-ce, build e68fc7a
如果想了解更多内容以及桌面版本如何安装,请看下文!
坐稳了,系好安全带,发车!
由于在CentOS下安装docker本人最常用,所以将命令写成一键安装脚本,默认安装最新稳定版,将以下内容保存成dockerIntall.sh
并执行sh dockerIntall.sh
#!/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
#!/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
注意:国内访问docker太慢,一般会配置加速器,此处配置的加速器是163的加速器:http://hub-mirror.c.163.com
,也可以配置阿里云的加速器。
桌面版本
平台 | x86_64 |
---|---|
Docker for Mac (macOS) | 支持 |
Docker for Windows (Microsoft Windows 10) | 支持 |
服务器版本
平台 | x86_64 / amd64 | ARM | ARM64/AARCH64 | IBM Power (ppc64le) | IBM Z (s390x) |
---|---|---|---|---|---|
CentOS | 支持 | 支持 | |||
Debian | 支持 | 支持 | 支持 | ||
Fedora | 支持 | 支持 | |||
Ubuntu | 支持 | 支持 | 支持 | 支持 | 支持 |
CentOS 是RedHat Linux社区版本,其特点是相当稳定,非常适合作为服务器使用,一般没有特殊要求,我都会优先选用此Linux发行版。
系统要求
centos-extras
仓库,默认是打开的,如果被关闭了,需要重新打开overlay2
存储驱动,overlay
也可以但是不推荐。overlay2
要求Linux内核为4.0+
卸载旧版本
旧版本的docker叫做docker
或者docker-engine
,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
。/var/lib/docker/
目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。
$ 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-data
和lvm2
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
$ # 打开体验版与测试版
$ 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
$ sudo yum install -y docker-ce
以上命令始终安装docker CE最新版本,如果提示接受GPG key,官方说检查指纹是否是060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,是的话,就接受,不过我在安装的过程中没有遇见。
注意:如果安装了多个docker仓库,使用yum install
或者yum update
命令时后面不跟版本信息的话,将始终安装最高版本的docker!
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本18.03.0.ce-1.el7.centos
,其命令为
$ sudo yum install -y docker-ce-18.03.0.ce
其他版本同理
启动docker CE
启动其实是启动docker deamon,即docker守护进程/docker引擎
$ sudo systemctl start docker
以上即是CentOS从仓库中安装docker CE的全部过程,如果需要升级的话,移除之前的docker,再重复上面的过程即可。
从RPM包安装
RPM包在没有网络的时候就特别管用了,找一台有网络的电脑下载RPM包,这个官方地址列出了所有CentOS版本的docker,选择一个进行下载。https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
比如我下载的文件叫做(在当前目录)docker-ce-18.09.0-3.el7.x86_64.rpm
执行
$ sudo yum install -y docker-ce-18.09.0-3.el7.x86_64.rpm
启动守护进程
$ sudo systemctl start docker
卸载
移除docker
$ sudo yum remove docker-ce
移除镜像,容器,卷,网络,自定义文件等
$ sudo rm -rf /var/lib/docker
Ubuntu是国内乃至全球热门的Linux发行版。也是各种推荐入门Linux爱好者安装的一个Linux发行版。
系统要求
需要64bit的以下任何Ubuntu版本:
x86_64, armhf, s390x (IBM Z), and ppc64le (IBM Power)
架构的Ubuntuppc64le
和s390x
架构下,只支持Xenial
以上的Ubuntu卸载旧版本
旧版本的docker叫做docker
或者docker-engine
,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
。/var/lib/docker/
目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。
$ sudo apt-get remove docker docker-engine docker.io containerd runc
支持的存储驱动
Ubuntu上的docker CE支持overlay2
和aufs
存储驱动
除非有特殊理由要用aufs没否则不建议,如果要使用aufs,需要额外的准备工作:
$ # 安装linux-image-extra-*包,让docker支持aufs
$ sudo apt-get update
$ sudo apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual
安装
有三种安装办法:
添加源进行安装
首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。
设置仓库
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
查看现在是否拥有了指纹9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
的密匙,执行下面搜索命令,如果有类似回显说明拥有此密匙。
$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb)
sub 4096R/F273FCD8 2017-02-22
lsb_release -cs
命令会返回是哪种Debian发行版,比如xenial
,如果想安装体验版(edge)或者测试版(test),将命令中的stable换成相应的字符串即可。$ # 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
$ sudo apt-get update
$ sudo apt-get install docker-ce
注意:如果安装了多个docker仓库,使用apt-get install
或者apt-get update
命令时后面不跟版本信息的话,将始终安装最高版本的docker!
$ 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
,其命令为
$ 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
文件
比如我下载的文件叫做(在当前目录)docker-ce_18.06.1_ce_3-0_ubuntu_amd64.deb
执行
$ sudo dpkg -i docker-ce_18.06.1_ce_3-0_ubuntu_amd64.deb
docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动
卸载
移除docker
$ sudo apt-get purge docker-ce
移除镜像,容器,卷,网络,自定义文件等
$ sudo rm -rf /var/lib/docker
Debian是完全免费的,最符合开源精神的Linux发行版,默认不包含任何专有驱动,软件大多数都是稳定版本而不是最新版本,其开发维护完全是由社区驱动。
系统要求
需要64bit的以下任何Debian或Raspbian版本
卸载旧版本
旧版本的docker叫做docker
或者docker-engine
,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
。/var/lib/docker/
目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。
$ sudo apt-get remove docker docker-engine docker.io containerd runc
如果是Wheezy 7.7则需要Linux内核版本至少为3.10,查看内核版本,并且需要打开backports
仓库
$ uname -r
安装
有三种安装办法:
添加源进行安装
首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。
设置仓库
$ sudo apt-get update
$ # 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
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
查看现在是否拥有了指纹9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
的密匙,执行下面搜索命令,如果有类似回显说明拥有此密匙。
$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb)
sub 4096R/F273FCD8 2017-02-22
lsb_release -cs
命令会返回是哪种Debian发行版,比如jessie
,如果想安装体验版(edge)或者测试版(test),将命令中的stable换成相应的字符串即可。$ # 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
deb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable
注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里
安装docker CE
注意:以下安装过程只支持Debian x86_64 / amd64
,Debian ARM
或 Raspbian
。
$ sudo apt-get update
$ sudo apt-get install docker-ce
注意:如果安装了多个docker仓库,使用apt-get install
或者apt-get update
命令时后面不跟版本信息的话,将始终安装最高版本的docker!
$ 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
,其命令为
$ 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
文件
比如我下载的文件叫做(在当前目录)docker-ce_17.06.2_ce-0_debian_amd64.deb
执行
$ sudo dpkg -i docker-ce_17.06.2_ce-0_debian_amd64.deb
docker deamon,即docker守护进程/docker引擎,在安装完成后会自动启动
卸载
移除docker
$ sudo apt-get purge docker-ce
移除镜像,容器,卷,网络,自定义文件等
$ sudo rm -rf /var/lib/docker
经常和Ubuntu比较的发行版,和Ubuntu最大的不同可能就是包管理不一样。
系统要求
需要64bit的以下任何Fedora版本
卸载旧版本
旧版本的docker叫做docker
或者docker-engine
,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce
。/var/lib/docker/
目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。
$ 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的仓库,你可以从这个仓库中安装或者升级docker。
设置仓库
dnf-plugins-core
,它提供了从命令行管理DNF源的工具。$ sudo dnf -y install dnf-plugins-core
$ sudo dnf config-manager \
--add-repo \
https://download.docker.com/linux/fedora/docker-ce.repo
$ # 打开体验版与测试版
$ 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
$ 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!
$ 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
,其命令为
$ sudo dnf -y install docker-ce-18.03.0.ce
其他版本同理
启动docker CE
启动其实是启动docker deamon,即docker守护进程/docker引擎
$ sudo systemctl start docker
以上即是CentOS从仓库中安装docker CE的全部过程,如果需要升级的话,移除之前的docker,再重复上面的过程即可。
从RPM包安装
RPM包在没有网络的时候就特别管用了,找一台有网络的电脑下载RPM包,这个官方地址列出了所有Fedora版本的docker,选择一个进行下载。https://download.docker.com/linux/fedora/
比如我下载的文件叫做(在当前目录)docker-ce-17.03.0.ce-1.fc24.x86_64.rpm
执行
$ sudo dnf -y install docker-ce-17.03.0.ce-1.fc24.x86_64.rpm
启动守护进程
$ sudo systemctl start docker
卸载
移除docker
$ sudo dnf remove docker-ce
移除镜像,容器,卷,网络,自定义文件等
$ sudo rm -rf /var/lib/docker
win10安装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
系统要求
安装
进入此页面下载Docker for Windows Installer.exe
双击Docker for Windows Installer.exe
然后一路下一步,安装完成!
运行
安装完成后docker不会自动运行,搜索docker点击运行。