Linux 内网环境(没有外网)下如何实现某种服务的快速安装?

Linux 内网环境(没有外网)下如何实现某种服务的快速安装?

一、 实际情况描述:
由于公司实际需要在公安内网安装MySQL数据库备份工具Xtrbackuup,原来我们都是通过Yum安装。那么这里没有网络环境,怎么办呢?这里有两种方式:
1,事先将Xtrabackup工具下载下来,然后拷贝到内网去。通过rpm -ivh +安装包的方式去安装。但是这里有一个非常严重的问题。是什么呢?我们通过rpm -ivh去安装的时候,会有一个依赖的问题。就是一个包的安装需要另外一个包作为基础。那么你在执行的过程中会发现,一个包依赖一个或者多个包。所以你要将所有的依赖包统统都下载下来,然后解决他们之间的依赖关系。很显然,这个方式特别低效率也非常麻烦。笔者深受其害。不推荐此方法
2,前面第一种方法不行。那么怎么也要想办法解决吧?这里通过请教高手,最终形成了自己的下面的解决办法,屡试不爽;【就是通过在另外一台机器上Yum 下载所有关于你要安装的软件包,然后构建本地源的形式实现内网环境下Yum各种服务的安装;

二、下面就以内网安装Docker为例,实现Docker环境与Docker-compose工具的离线安装;
(1) 准备系统:CentOS 7.6 可以上外网 (/etc/resolv.confp配置文件修改)
该镜像包属于CentOS 7.6 Mini ,原因:因为最小化系统是最干净的系统,便于我们后续下载各种安装包,便于维护;
当前系统版本
(2)基础环境准备完毕,接下来我们开始在这台服务器上通过Yum下载不安装的方式完成docker与docker-compose包的下载打包;

首先,下载docker安装需要额依赖包,同样只下载,不安装;命令如下:
yum install -y yum-utils device-mapper-persistent-data lvm2 --downloadonly --downloaddir=/dockerfile
这样我们就将docker安装过程所需要的依赖包全部下载到/dockerfile这个目录里边。当然这个目录需要提前创建;

其次,安装docker国内源,因为docker的网站在国外,直接从官网下载非常慢,因此更换国内路线下载;使用如下命令
yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
添加完后,我们在/etc/yum.repos.d/会发现我们添加的docker国内源,如下图所示
Linux 内网环境(没有外网)下如何实现某种服务的快速安装?_第1张图片
源创建完后,我们执行以下几条命令,创建源的元数据信息
yum clean all
yum makecache fast 如下图所示
Linux 内网环境(没有外网)下如何实现某种服务的快速安装?_第2张图片
接下来,我们同样只下载不安装docker到我们的/dockerfile目录下,使用如下命令:
yum install docker-ce --downloadonly --downloaddir=/dockerfile 这个过程会比较慢,大概在90M左右,耐心等候。。。。
下载完后,如下图所示
Linux 内网环境(没有外网)下如何实现某种服务的快速安装?_第3张图片
好,所有的安装包下来了,接下来,我们配置local源,
步骤如下:
1,yum install -y createrepo
2, 在这个dockerfile目录下,创建一个local.repo的文件,文件内容大概如下,根据实际修改即可:
[local]
name=local
baseurl=file:///dockerfile《注意这个路径》
gpgcheck=0
enable=1
3, 执行 createrepo /dockerfile 这样就将刚刚的dockerfile文件变成了一个Local源文件,
那么同样的方法将docker-compose文件拷贝到/dockerfile目录下
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-uname -s-uname -m -o /dockerfile

接下来,将这个local源文件打包成tgz包拷贝到另外一台需要安装的内网的机器上的根目录下。这里的根目录跟上面的Local源描述的路径是一样的。这个步骤省。

接下来,到这个不能上外网的机器上,使用tar zxvf docker-test.tgz 解压到根目下。
在这里插入图片描述
解压后就会发现在/目录下会有一个dockerfile的文件夹,这个文件夹里有所有的安装包,我们等会要来通过yum install的方式完成安装下载;

接下来,进入刚刚解压的dockerfile目录,将里边的local.repo源文件拷贝到当前主机的/etc/yum.repo.d/下。执行以下命令:
cp local.repo /etc/yum.repos.d/
Yum clean all
Yum repolist
Linux 内网环境(没有外网)下如何实现某种服务的快速安装?_第4张图片
三、 到此为止,所有的配置已经完成。会不会有点啰嗦。。。。大家见谅。头一次写,有点激动。
接下来,测试能否安装。。。。
分别执行以下命令:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install docker-ce
安装成功
Linux 内网环境(没有外网)下如何实现某种服务的快速安装?_第5张图片
Linux 内网环境(没有外网)下如何实现某种服务的快速安装?_第6张图片
docker也安装成功;
docker-compse呢?是否也是成功的。
将/docfile目录下的docker-compose文件拷贝到/usr/local/bin/目录下
然后执行 chmod +x /usr/local/bin/docker-compose
然后执行 docker-compose -version 看能否执行成功;结果如下
查看Docker版本信息
执行成功;

总结
这个方法解决了没有外网环境下Linux服务的安装。特别好用。已经经过多次论证。这里向大家推荐。初来乍到,写的一般般,下次再改进,等待后续更新。。。。。。

你可能感兴趣的:(Docker+Compose)