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

9

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

Docker-CE版本:18.03+

3个回答

9

我使用 dockerd & 命令启动了 Docker,发现其日志不断输出到控制台。如何防止 Docker 将日志输出到控制台? - Leon
尝试运行 docker run -d,这将在后台运行 Docker 镜像。 - Yash Jagdale
例如:docker run -d -p 8080:8080 hello-world - Yash Jagdale
我指的是Docker守护进程的日志,而不是Docker容器的日志。 - Leon

7
如果您不想安装二进制文件并从头开始配置Docker,可以下载适用于您的系统所需的所有RPM包,将它们上传到您的离线机器,并安装它们。
假设您正在Centos 7.7上运行,启动docker centos容器,找到所有需要的依赖项。下载它们。上传并安装它们。
# 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

完成了!现在您只需要启用并启动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

2
您必须下载DEB软件包并手动安装以及完全手动管理升级。这在安装Docker在没有访问互联网的空气隔离系统等情况下非常有用。
从软件包安装
如果您无法使用Docker的存储库安装Docker CE,则可以为您的版本下载.deb文件并手动安装。每次想要升级Docker CE时,您都需要下载一个新文件。
1.进入[https://download.docker.com/linux/ubuntu/dists/],选择您的Ubuntu版本,浏览到pool/stable/并选择amd64、armhf、ppc64el或s390x。下载您想要安装的Docker版本的.deb文件。
注意:要安装edge软件包,请将URL中的单词stable更改为edge。
2.安装Docker CE,将下面的路径更改为您下载Docker软件包的路径。 $ sudo dpkg -i /path/to/package.deb
然后运行。
  • $ sudo docker version

    用于显示 Docker 版本和安装成功与否。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接