网站首页 > 教程文章 正文
上次转载领导的Docker文章,有朋友问有没有离线安装的方法,我开始想的是用系统的安装镜像ISO来做yum源,进行本地安装。有时候在没有公网访问权限的场景下无法访问公共yum源来安装软件,这时通过创建本地的yum源可以解决一部分问题。方法就是通过挂载完整的系统安装ISO镜像文件,来作为本地yum源。今天简单分享一下操作方法。
首先创建存放系统镜像的目录和挂载镜像的目录。
mkdir –p /yum/iso
mkdir –p /yum/local
上传安装系统的ISO镜像文件到/yum/iso目录下。
通过以下命令将ISO镜像挂载到本地yum目录/yum/local下。
mount -o loop /yum/iso/CentOS-7-x86_64-DVD-1804.iso /yum/local/
可以使用命令检查是否挂载成功。
df –h
在/etc/yum.repos.d/目录下新建一个调用本地yum源的repo文件。
vi /etc/yum.repos.d/local.repo
repo文件内容如下:
[local]
name=local
# baseurl就是挂载路径,我定义的路径是/yum/local
baseurl=file:///yum/local
# enabled的值为1表示启用该yum源
enabled=1
#本地挂载不涉及数字签名问题,将gpgcheck值设置为0,表示不检查数字签名
gpgcheck=0
# gpgkey的值可以进到挂载路径下进行查看,形如RPM-GPG-KEY-XXXX,我这里看到的是RPM-GPG-KEY-CentOS-7。
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7
这个地方还出现一个小意外,重启之后会看不到路径下的文件信息,原因是重启后挂载点丢失了,需要重新挂载。可以通过解压镜像文件或者是写一个启动运行的脚本来解决。
测试使用本地yum源
先模拟一个没有公网的环境,避免干扰。本来是想用360路由器的上网黑名单功能来限制网络访问,结果发现不管用,IP加了黑名单照常能上网。好在我是学过网络的,想到绑定一个错误的ARP表项;就先把ARP信息绑定,然后改了一个错误的MAC地址,这样这台服务器就没法上网了,也就成了本地环境。
然后将系统自带的yum源配置文件移动至其它地方,不建议删除,万一后面用到再创建会麻烦很多。我在同路径下新建了一个history目录,用于存放这些repo文件。(注意:网上有案例是移动到了/tmp目录下,因为/tmp目录过一段时间后会自动删除早期的文件,如果是实验操作,请在操作完成后需要立即恢复或移动到其他位置)
mkdir /etc/yum.repos.d/history
mv CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo –t history
清除服务器的yum缓存,再缓存新的yum源。
yum clean all
yum makecache
再安装一下ntp服务。
yum install –y ntp
安装成功。言归正传,那docker能不能安装成功呢?
可以看到,本地yum源中没有这个安装包,那就只能上网去搜了。
我搜了一下,因为依赖包比较多,我就没有测试了,大概是需要11个安装包。
而在线安装显示需要的依赖包更多。
如果你确实有这种需求,祝你好运吧!
猜你喜欢
- 2025-06-10 使用registry:2.8镜像搭建docker私有仓库registry服务
- 2025-06-10 DockerFile镜像定制(docker自定义镜像)
- 2025-06-10 Vagrant编排虚拟机安装与配置(virt-manager创建虚拟机)
- 2025-06-10 如何在Windows 10中的Hyper-V虚拟机上安装CentOS Linux
- 2025-06-10 Centos7 安装详细过程图解(centos7详细安装步骤)
- 2025-06-10 Docker 阿里云镜像加速(docker配置阿里云镜像)
- 2025-06-10 CentOS7.5系统更新yum源的详细过程
- 2025-06-10 CentOS各版本介绍及下载(centos主流版本)
- 2025-06-10 Jenkins自动打包并构建docker镜像推送阿里云仓库
- 2025-06-10 虚拟机上 Linux 详细安装教程(linux虚拟机安装菜鸟教程)
- 最近发表
-
- 第十三章:Python在Web开发中的应用
- python mysql 连接池(django mysql连接池)
- Python | SQL库:MySQL(python连接mysql数据库环境搭建)
- 使用Python来实现MySQL与PostgerSQL之间的数据实时同步?
- 申请免费域名SSL,为NAS和个人网站加密
- Cloudflare配置CDN+SSL+代理(cloudflare国内代理)
- Halo博客搭建(halo博客搭建失败怎么办)
- 我用三年踩坑才摸懂建站这事儿独立站新手别闭眼冲
- 30 分钟搞定 Docker 安装与 Nginx 部署,轻松搭建高效 Web 服务
- 免费通配符ssl证书的申请指南——从申请到启动https
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)