Docker在越来越多的项目中使用,快捷、高效的部署,为我们提供了一个统一的环境,方便部署,当然还有其他很多的优点,就不一一列举了。安装基于Docker官方文档
准备
操作系统需求
基于CentOS7发行版进行安装,需要启用centos-extras
,默认是开启的,如果关闭了的话,需要打开
1 | [root@ip-172-26-13-79 centos]# yum repolist |
开启的话,可以执行下面的命令,参考
1 | [root@ip-172-26-13-79 centos]# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm |
建议使用overlay2
storage driver。
卸载旧的版本
1 | sudo yum remove docker \ |
如果没有提示,说明上面的包没有被安装。
安装
可以通过多种方式安装Docker CE:
- 大多数用户通过设置
Dokcer's repositories
的方式安装,方便安装和进行升级,这种方法比较推荐。 - 有些用过通过下载RPM 包的方式安装,这种方式适合没有办法连接到网络的时候使用。
- 在开发和测试环境,使用自动脚本进行Dokcer安装
使用repository 进行安装
设置 REPOSITORY
1.安装所需要的包,提供对应的存储支持
1 | sudo yum install -y yum-utils \ |
2.使用下面推荐的稳定repository
1 | sudo yum-config-manager \ |
可选:开启nightly或test repositories
1.这些库包含在docker.repo 中,默认是关闭的,可以开启他们
1 | sudo yum-config-manager --enable docker-ce-nightly |
2.开启test channel
1 | sudo yum-config-manager --enable docker-ce-test |
3.关闭
1 | sudo yum-config-manager --disable docker-ce-nightly |
了解更多关于 nightly 和 test channels。
安装Docker CE
安装最新版本,或者转到下一步安装特定版本
1 | sudo yum install docker-ce docker-ce-cli containerd.io |
如果提示接受GPG key,请验证指纹是否匹配: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
``
需要注意:如果存在多个Docker repositories 可能会导致安装最新的docker 而不是稳定版。
安装特定的版本
1 | yum list docker-ce --showduplicates | sort -r |
返回的列表取决于启动的repositories。安装特定的版本
- 例子,
docker-ce-18.09.1
Docker 已安装未启动,1
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
docker
组被创建,但是没有user添加进组。
启动Docker
1 | sudo systemctl start docker |
通过运行hello-world
验证Docker CE 安装正确
1 | sudo docker run hello-world |
通过rpm包进行安装
如果无法使用Docker’s repository 安装Docker ,可以使用.rpm
进行安装
下载rpm包
可以到https://download.docker.com/linux/centos/7/x86_64/stable/Packages/下载.rpm
文件选择版本进行安装。
注意:如果安装nightly 或者 test包,需要把链接中的stable 换成对应的单词。
安装Docker CE
切换到对应的目录进行下载和安装
1 | sudo yum install /path/to/package.rpm |
启动Docker
1 | sudo systemctl start docker |
通过运行hello-world
验证Docker CE 安装正确
1 | sudo docker run hello-world |
通过使用便捷脚本安装
Docker 提供了便捷脚本在get.docker.com和test.docker.com,使用脚本安装可能会存在安全风险,建议不要在生产环境中使用