在Linux系统上面安装Docker有3种方式,分别为在线安装、离线安装、脚本文件安装,最常用及官方推荐的安装方式是在线安装。
在线安装
由于在线安装方式比较容易且后期升级维护相对方便,所以大多数会选择在线安装;这种安装方式需要先设置一个Docker仓库,然后通过该仓库进行安装和后续更新。
1.设置Docker仓库
在新的主机上初次安装Docker CE前,必须先设置Docker储存库。
(1)更新apt的索引包
$ sudo apt-get update
(2)安装软件包允许apt通过HTTPS方式使用Docker仓库
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
(3)添加Docker官网的GPG key
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
(4)添加Docker稳定的仓库源(根据Ubuntu镜像版本的不同进行选择安装)
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"
s390x:
$ sudo add-apt-repository \ "deb [arch=s390x] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
2.安装Docker CE
设置好Docker仓库之后,就可以从存储库中安装和更新Docker。
(1)更新apt的索引包
$ sudo apt-get update
(2)安装不同版本的Docker
Docker提供了两种安装方式,一是安装默认的最新版本的Docker,二是安装指定版本的Docker。
安装最新版本的Docker
$ sudo apt-get install docker-ce
注意:执行上述指令后,之前存在的任何版本的Docker都会被替换
安装指定版本的Docker
$ sudo apt-get install docker-ce=<VERSION>
为了更好的选择指定版本的Docker,可以使用apt-cache madison指令查看Docker仓库中的Docker版本信息
$ apt-cache madison docker-ce
(3)安装完成后,可以使用sudo docker run hello-world指令运行测试
$ sudo docker run 镜像名(hello-world)
离线安装
在没有网络或者网络条件较差情况下,可以选择离线安装。好处是不依赖于网络,缺点是后期使用时需要手动升级和维护,且每次升级都需要下载一个新的.deb文件。
1.下载离线安装文件
通过官方提供的地址https://download.docker.com/linux/ubuntu/dists/,下载安装Docker的.deb文件,需要选择自己机器所对应的Ubuntu版本
2.使用离线文件安装Docker
在Ubuntu系统的终端中执行如下指令
$ sudo dpkg -i 离线文件的路径(/path/to/package.deb)
脚本文件安装
在开发和测试环境下,可以使用Docker官方提供的自动化脚本文件来安装Docker,开发和测试环境下的脚本文件下载地址分别为https://get.docker.com/和https://test.docker.com/
注意:这种安装方式是针对某些特定环境提供的,虽然此方式可以快速在非交互式的开发环境中安装稳定开发版本和测试版本的Docker CE,但是在实际环境下不推荐使用脚本文件安装Docker,具体安装步骤查看官网介绍:https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-using-the-convenience-script
其他设置:Docker的开机启动和添加当前用户可执行权限
(1)配置Docker开机启动
$ sudo systemctl enable docker
(2)配置当前用户执行Docker权限(username是自己的用户名)
$ sudo usermod -aG docker username