我正在尝试找到一种方法,在没有互联网连接的 CentOS 机器(政府机器)上安装 docker-ce。几年前,我在尝试安装另一个软件包时陷入了依赖漏洞,所以这次我试图覆盖所有基础。
我找到了几个命令,它们可以显示或下载每个给定包的所有依赖项,我将在下面列出它们。但每个命令的结果都不一样。有一些常见的包,但并不完全相同。我只是想知道是否有人可以帮我找到一种方法来下载所有依赖项,以便我可以将它们刻录到 DVD 上并将其带到远程位置并成功安装 Docker。谢谢
repoquery --requires --resolve docker-ce
yum deplist docker-ce
yum install --downloadonly --downloaddir=/home/test docker
答案1
您可以使用repotrack
,请参阅此答案:https://unix.stackexchange.com/a/50671/221985
我刚刚安装了 CentOS 7 Minimal,并完成了以下操作:
添加 Docker 存储库
按照“获取 Docker“ 手动的:
$ yum install -y yum-utils
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ yum makecache
下载 Docker 软件包
请注意device-mapper-persistent-data
和lvm2
在上面的手册中有明确指定。
其他的都是需要更新的(通过反复试验发现的)。关键是缺少Total download size:
一行(或零字节)。
$ mkdir ~/docker
$ cd ~/docker/
$ repotrack -a x86_64 -p "$(pwd)" device-mapper-persistent-data lvm2 docker-ce
$ repotrack -a x86_64 -p "$(pwd)" audit dracut-config-rescue dracut-network e2fsprogs \
e2fsprogs-libs libss systemd-sysv
这下载了 216 个包(~161 MB)...请注意,它同时包含i686
和x86_64
架构...如果这对您来说是一个问题,上面链接的答案可以解决这个问题。
离线安装
使用yum
安装 RPM 将利用 的yum
依赖性解决程序 -很多rpm
比按照正确的顺序手动运行更容易......
$ cd ~/docker/
$ yum install --noplugins *.noarch.rpm *.x86_64.rpm
然后启动docker,就可以了:
$ service docker start
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES