如何在没有互联网和内网 yum 存储库的情况下安装 docker-ce?

How to install docker-ce without internet and intranet yum repository?

我是从官网下载的rpm包,但是安装的时候还需要下载一些依赖。我需要在没有任何网络或存储库的情况下安装 docker-ce,所以我需要我依赖的所有 RPM 包以及它们的安装顺序。

Docker-CE版本:18.03+

如果没有互联网,唯一的安装方法是下载 tar 并解压。

可用步骤:- Docker Install Steps
tar 可以从下载 Binary repo

您必须下载 DEB 包并手动安装并完全手动管理升级。这在某些情况下很有用,例如在气隙系统上安装 Docker 无法访问互联网

从包中安装

如果您不能使用Docker的存储库安装Docker CE,您可以下载.deb文件并手动安装.每次升级 Docker CE 时都需要下载一个新文件。

1.Go 到 [https://download.docker.com/linux/ubuntu/dists/],选择您的 Ubuntu 版本,浏览至 pool/stable/ 并选择 amd64、armhf、ppc64el 或 s390x。为您要安装的 Docker 版本下载 .deb 文件。

注意:要安装 edge 软件包,请将 URL 中的单词 stable 更改为 edge

  • 安装Docker CE,将下面的路径更改为您下载Docker包的路径。

  • $ sudo dpkg -i /path/to/package.deb

和运行

  • $ sudo docker 版本

    到docker版本,安装成功。

如果您不想安装二进制文件并因此从头开始配置它Docker,您可以下载您系统所需的所有RPM包,将它们上传到您的离线机器并安装它们.

假设您使用的是 Centos 7.7,启动 docker centos container,找到所有需要的依赖项。下载它们。上传并安装它们。

# In an online machine
docker run --rm -v ${PWD}/bin:/tmp -it centos:7.7.1908 bash # Run an online container similar to your offline machine
# In the online container:
cd /tmp
yum-config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo # Add Docker repo
yum makecache fast # Update Yum cache
yum list docker-ce --showduplicates | sort -r # Choose a version
yumdownloader --resolve docker-ce-20.10.5-3.el7 # Download all non-installed RPM depencencies

将所有 RPM 包上传到您的离线计算机。你可以用它们做一个 tar:

tar cvzf docker-rpm-deps.tar.gz * # Create an archive of all the RPMs

安装所有 RPM

# In the offline machine
tar xzvf docker-rpm-deps.tar.gz -C /tmp # Exctract archive
cd /tmp
rpm -ivh --replacefiles --replacepkgs *.rpm # Install all .rpm in the current folder

瞧!现在你只需要启用和 start docker.

systemctl enable docker.service
systemctl start docker.service

如果您在离线机器上时仍然缺少 RPM 包,您可以使用以下命令下载所有需要的 RPM

# Instead of using yumdownloader
repotrack -a x86_64 -p ./docker-rpm-pkgs docker-ce-20.10.5-3.el7 # Download all RPM dependencies, even the already installed ones