在CentOS 8.2中离线安装Docker可以分为几个步骤来完成。首先你需要从一个有网络连接的机器上下载所需的包,然后将这些包传输到没有网络连接的目标机器上进行安装。以下是详细的步骤:
在有网络连接的机器上准备Docker安装包:
1,更新系统软件包列表(这一步在目标机器上也应执行):
sudo dnf update -y
2,安装必要的依赖工具:
sudo dnf install -y yum-utils
如遇到以下错误
Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist
CentOS Linux 8 - AppStream 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'appstream':
- Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock [Could not resolve host: mirrorlist.centos.org]
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock [Could not resolve host: mirrorlist.centos.org]
解决方案:
rm -f /etc/yum.repos.d/*.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
清理缓存并重新加载镜像源:
sudo yum clean all
sudo yum makecache
再次尝试安装yum-utils:
sudo dnf install -y yum-utils
3,添加Docker的官方仓库:
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4,列出可用的Docker版本并选择要下载的版本,记录下想要安装的具体版本号:
sudo dnf list docker-ce --showduplicates | sort -r
5,下载Docker及其相关依赖包:
假设我们选择了docker-ce-3:26.1.3-1.el8.x86_64作为安装版本,那么下载命令如下:
sudo dnf download --resolve docker-ce-3:26.1.3-1.el8.x86_64
6,将下载的rpm文件复制到目标机器:
将下载的.rpm文件传输到目标机器。
在无网络连接的目标机器上安装Docker
1,确保系统是最新的(如果之前没有做过的话):
sudo dnf update -y
2,安装yum-utils:
sudo dnf install -y yum-utils
3,使用rpm命令安装Docker及其依赖包:
将所有下载的.rpm文件放入同一个目录中,然后运行以下命令来安装它们:
sudo rpm -ivh *.rpm
如果有依赖关系错误,可能需要手动调整安装顺序,先安装依赖包。
4,启动Docker服务:
sudo systemctl start docker
5,设置Docker开机自启:
sudo systemctl enable docker
6,验证Docker是否正确安装:
sudo docker ps