docker上没有互联网,rpm包依赖问题的centos

我遇到了一个问题,从一个没有互联网访问的服务器上安装docker-ce。

这是我的Linux |的版本 CentOS的释放,7-2.1511.el7.centos.2.10.x86_64

Virtualization: vmware Operating system: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64 

我试图按照这里设置的说明,但因为箱子没有互联网我不能做的YUM安装。

所以我用rpm -ivh来做。 到目前为止依赖性错误后依赖性错误。

我试过这三个版本的docker,他们都给出了一个依赖的错误。

 -rw-r--r--. 1 root root 19521288 Nov 8 00:52 docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm -rw-r--r--. 1 root root 19529520 Nov 8 00:02 docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm -rw-r--r--. 1 root root 29108 Nov 8 00:53 docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm -rw-r--r--. 1 root root 29108 Nov 8 00:03 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm -rw-r--r--. 1 root root 19509116 Nov 8 01:26 docker-engine-1.13.1-1.el7.centos.x86_64.rpm -rw-r--r--. 1 root root 29024 Nov 8 01:26 docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm rpm -ivh /docker/images/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm warning: /docker/images/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY error: Failed dependencies: docker-ce-selinux >= 17.03.2.ce-1.el7.centos is needed by docker-ce-17.03.2.ce-1.el7.centos.x86_64 rpm -ivh /docker/images/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm warning: /docker/images/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY error: Failed dependencies: selinux-policy-base >= 3.13.1-102 is needed by docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch selinux-policy-targeted >= 3.13.1-102 is needed by docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch 

所以我试图寻找下面的网站上find的selinux包:

我尝试从rpmfindand安装rpm,不幸的是,它要求另一个依赖。

 rpm -ivh selinux-policy-minimum-3.13.1-102.el7.noarch.rpm warning: selinux-policy-minimum-3.13.1-102.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY error: Failed dependencies: policycoreutils-python >= 2.5 is needed by selinux-policy-minimum-3.13.1-102.el7.noarch selinux-policy = 3.13.1-102.el7 is needed by selinux-policy-minimum-3.13.1-102.el7.noarch rpm -ivh selinux-policy-targeted-3.13.1-102.el7.noarch.rpm warning: selinux-policy-targeted-3.13.1-102.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY error: Failed dependencies: policycoreutils >= 2.5 is needed by selinux-policy-targeted-3.13.1-102.el7.noarch selinux-policy = 3.13.1-102.el7 is needed by selinux-policy-targeted-3.13.1-102.el7.noarch 

有没有人尝试在此版本的centos上安装docker之前,没有访问互联网? 你有更简单的方法来解决这个问题吗?

先谢谢你!

在具有互联网的机器上,下载所有依赖关系:

 mkdir -p offline_repo && cd offline_repo curl -O https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm curl -O https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm yum install --downloadonly --downloaddir=. docker-ce-*.rpm 

你可以在任何有docker和互联网访问的机器(任何操作系统)上执行它,你可以下载一个容器中的依赖:

 mkdir offline_repo docker run --rm -it -v $PWD/offline_repo:/offline_repo centos:7.2.1511 \ sh -c 'cd /offline_repo \ && curl -O https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm \ && curl -O https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm \ && yum install --downloadonly --downloaddir=. docker-ce-*.rpm' 

现在,您应该在offline_repo目录中提供所有必需的软件包,应该如下所示:

 $ ls -1 offline_repo/ audit-libs-2.6.5-3.el7_3.1.x86_64.rpm audit-libs-python-2.6.5-3.el7_3.1.x86_64.rpm checkpolicy-2.5-4.el7.x86_64.rpm docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm iptables-1.4.21-17.el7.x86_64.rpm libcgroup-0.41-11.el7.x86_64.rpm libmnl-1.0.3-7.el7.x86_64.rpm libnetfilter_conntrack-1.0.6-1.el7_3.x86_64.rpm libnfnetlink-1.0.1-4.el7.x86_64.rpm libseccomp-2.3.1-2.el7.x86_64.rpm libselinux-2.5-6.el7.x86_64.rpm libselinux-python-2.5-6.el7.x86_64.rpm libselinux-utils-2.5-6.el7.x86_64.rpm libsemanage-2.5-5.1.el7_3.x86_64.rpm libsemanage-python-2.5-5.1.el7_3.x86_64.rpm libsepol-2.5-6.el7.x86_64.rpm libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm policycoreutils-2.5-11.el7_3.x86_64.rpm policycoreutils-python-2.5-11.el7_3.x86_64.rpm python-IPy-0.75-6.el7.noarch.rpm selinux-policy-3.13.1-102.el7_3.16.noarch.rpm selinux-policy-minimum-3.13.1-102.el7_3.16.noarch.rpm selinux-policy-targeted-3.13.1-102.el7_3.16.noarch.rpm setools-libs-3.3.8-1.1.el7.x86_64.rpm systemd-219-30.el7_3.9.x86_64.rpm systemd-libs-219-30.el7_3.9.x86_64.rpm 

然后将其复制到离线机器,然后安装所有软件包:

 cd offline_repo yum install -y --cacheonly --disablerepo=* *.rpm