由于公司内部服务器只能连内网,即使建立局域网yum源,也无法使用yum在线安装Docker CE。
支持在线安装的朋友们,直接参考CentOS在线安装Docker官方文档即可:https://docs.docker.com/install/linux/docker-ce/centos/
目前最新版本是v18.09.6。
1、根据官方文档对CentOS的要求:需要是一个CentOS 7的维护版本。
查看CentOS版本,可通过下面命令查看:
# cat /etc/redhat-release
2、下载docker-ce.repo文件
下载地址:https://download.docker.com/linux/centos/docker-ce.repo
3、下载最新的docker-ce、docker-ce-cli、containerd.io安装包
下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
注:截图中未出现的docker-ce-selinux安装包在新版本中已经被废弃了,需要下载另外的一个依赖包container-selinux
container-selinux安装包下载地址:https://pkgs.org/download/container-selinux
1、添加repo:将下载好的docker-ce.repo文件拷贝到/etc/etc/yum.repos.d/下;
2、按顺序依次安装containerd.io、docker-ce-cli、container-selinux和docker-cl包:
# rpm -ivh containerd.io-1.2.5-3.1.el7.x86_64.rpm
# rpm -ivh docker-ce-cli-18.09.6-3.el7.x86_64.rpm
# rpm -ivh container-selinux-2.95-2.el7_6.noarch.rpm
# rpm -ivh docker-ce-18.09.6-3.el7.x86_64.rpm
3、安装成功后,启动docker
# systemctl start docker
这时,可以查看docker安装的详细信息
# docker info
4、docker相关命令:
重启:systemctl restart docker
关闭:systemctl stop docker
1、在安装以上rpm包的时候,如果出现缺少依赖的错误,比如:
error: Failed dependencies:
policycoreutils >= 2.5-11 is needed by container-selinux-2:2.95-2.el7_6.noarch
selinux-policy >= 3.13.1-216.el7 is needed by container-selinux-2:2.95-2.el7_6.noarch
selinux-policy-base >= 3.13.1-216.el7 is needed by container-selinux-2:2.95-2.el7_6.noarch
selinux-policy-targeted >= 3.13.1-216.el7 is needed by container-selinux-2:2.95-2.el7_6.noarch
出现 “>=版本号”:说明你的系统上已经安装了这些包,只是这些包不是最新的,需要升级
以policycoreutils包为例,可以在https://pkgs.org/上搜索对应的最新的rpm包,执行以下命令进行升级:
# rpm -Uvh policycoreutils-2.5-29.el7.x86_64.rpm
如果对应的这个包被其它包依赖(policycoreutils被policycoreutils-python包依赖),这时会出现错误提示:
error: Failed dependencies:
policycoreutils = 2.5-8.el7 is needed by (installed) policycoreutils-python-2.5-8.el7.x86_64
解决办法:先以不依赖的方式安装policycoreutils,再下载新的policycoreutils-python包升级。
# rpm -Uvh policycoreutils-2.5-29.el7.x86_64.rpm --nodeps
# rpm -Uvh policycoreutils-python-2.5-29.el7.x86_64.rpm
其它类似错误,参考以上方法即可。
2、如果出现的是:
error: Failed dependencies:
xxxxxx is needed by xxxxxxxxxxxxxxxxxx
直接下载对应的包安装即可。