场景
针对服务器安全性的存在,一般不给直接上网,所以需要采用离线安装的方式去安装
需求
- 在可以上网的服务器,查看是否有docker
yum list installed | grep docker
- 版本过低删除已安装的docker版本 (不删除 /var/lib/docker 目录 就不会删除已安装的镜像及容器)
yum -y remove docker*
- 安装国内阿里云镜像(由于Centos默认的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
yum list docker-ce --showduplicates
- 下载安装包和需要的依赖到指定目录下
yum install --downloadonly --downloaddir=/opt/docker docker-ce
- 打包
tar cf docker-ce.offline.tar *.rpm
- 上传生产服务器并且解压和安装
tar xf docker-ce.offline.tar
sudo rpm -ivh --replacefiles --replacepkgs *.rpm
如果提示缺依赖,例如container-selinux,重复步骤4
优点:解决深度依赖的问题,针对单个依赖包可以在 pkgs.org/ 上面获取