无法连接互联网的情况下,我们需要使用docker就需要离线搭建,但是如果直接下载docker-ce的rpm包安装的话会缺少各种依赖,经过摸索,发现配置本地yum源可以解决当前问题。本文将阐述在CentOS7下,通过配置本地yum源,离线安装docker-ce。
# yum install --downloadonly --downloaddir=/root/docker-ce-local <package-name>
# mkdir -p /root/docker-ce-local && cd /root/docker-ce-local
注:默认情况下,下载的rpm包位于以下位置:/var/cache/yum/x86_64/7
# yum install --downloadonly \
--downloaddir=/root/docker-ce-local createrepo
# yum update --downloadonly --downloaddir=/docker-ce-local
#官网教程地址
https://docs.docker.com/engine/installation/linux/docker-ce/centos/#prerequisites
# yum remove docker \
docker-common \
docker-selinux \
docker-engine
# yum install --downloadonly \
--downloaddir=/root/docker-ce-local \
yum-utils device-mapper-persistent-data lvm2
# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# yum makecache fast
# yum install --downloadonly --downloaddir=/root/docker-ce-local docker-ce
# more /etc/yum.repos.d/docker-ce.repo
# cd /root/docker-ce-local/
# wget https://download.docker.com/linux/centos/gpg
# yum install createrepo
# createrepo -pdo /root/docker-ce-local /root/docker-ce-local
# createrepo --update /root/docker-ce-local
# cd /root
# tar -zcvf centos-local.tgz docker-ce-local/
至此离线安装包制作完成,将此包拷贝到离线的机器上,继续以下操作。
# cd /root
# tar -xvzf centos-local.tgz
# cd /root/docker-ce-local
# rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm
注:createrepo版本可能不一样,根据自己下载的包的版本安装
# cd /etc/yum.repos.d/
# mkdir repobak
# mv CentOS* repobak/
# vi /etc/yum.repos.d/docker-ce-local.repo
[docker-ce-local]
name=Local Yum
baseurl=file:///root/docker-ce-local/
gpgcheck=1
gpgkey=file:///root/docker-ce-local/gpg
enabled=1
# createrepo /root/docker-ce-local
# yum makecache
# yum install docker-ce
注:安装过程比较耗时,需等待
# systemctl start docker.service
# docker version