Linux系统如何在离线环境或内网环境安装部署Docker服务和其他服务
如何在离线环境或纯内网环境的Linux机器上安装部署Docker服务或其他服务。本次我们以Docker服务和Ansible服务为例。
获取指定服务的所有rpm包
保证要获取rpm包的机器能够上网。
本次我们以Docker服务和Ansible服务为例。
修改配置实现:yum安装后保留rpm包
在linux上,使用yum安装,默认安装完成之后会删除下载的rpm包;想要yum安装软件后,还保留安装包,那么需要修改 /etc/yum.conf 配置文件中的keepcache参数。
1 [root@docker02 ~]# vim /etc/yum.conf
2 [main]
3 # 安装包保存位置
4 cachedir=/var/cache/yum/$basearch/$releasever
5 # 默认0,是不保存安装包;改为1,保留安装包
6 keepcache=1
7 debuglevel=2
8 logfile=/var/log/yum.log
9 exactarch=1
10 obsoletes=1
11 gpgcheck=1
12 plugins=1
13 installonly_limit=5
14 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
15 distroverpkg=centos-release
此时我们进入安装包保存位置:/var/cache/yum/,可见是没有任何rpm包的
1 [root@docker02 yum]# pwd
2 /var/cache/yum
3 [root@docker02 yum]# find . -type f | grep 'rpm'
获取安装Docker服务所需的rpm包
安装docker服务步骤如下:
1 ### 安装必要依赖
2 yum install -y yum-utils device-mapper-persistent-data lvm2
3 ### 添加软件源信息
4 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5 ### 安装最新版本的docker服务
6 yum -y install docker-ce
7 ### 查看docker版本信息
8 docker -v
此时我们在 /var/cache/yum/目录通过命令过滤,可见安装docker服务的rpm包,并将这些包移到指定的 /root/software/docker_rpm目录中。
1 [root@docker02 yum]# pwd
2 /var/cache/yum
3 [root@docker02 yum]# find . -type f | grep 'rpm'
4 [root@docker02 yum]#
5 [root@docker02 yum]# mv $(find . -type f | grep 'rpm') /root/software/docker_rpm
这时在 /root/software/docker_rpm目录中的包就是我们安装docker服务所需的rpm包。我们可以打包下载,然后上传到离线或内网环境的Linux机器,之后进行离线Docker服务安装部署。
获取安装Ansible服务所需的rpm包
安装ansible服务步骤如下:
1 yum install -y ansible
2 ### 查看ansible版本信息
3 ansible --version
此时我们在 /var/cache/yum/目录通过命令过滤,可见安装ansible服务的rpm包,并将这些包移到指定的 /root/software/ansible_rpm目录中。
1 [root@docker02 yum]# pwd
2 /var/cache/yum
3 [root@docker02 yum]# find . -type f | grep 'rpm'
4 [root@docker02 yum]#
5 [root@docker02 yum]# mv $(find . -type f | grep 'rpm') /root/software/ansible_rpm/
这时在 /root/software/ansible_rpm目录中的包就是我们安装ansible服务所需的rpm包。我们可以打包下载,然后上传到离线或内网环境的Linux机器,之后进行离线Ansible服务安装部署。
离线或内网环境部署指定服务
将上面Docker服务的rpm安装包和Ansible服务的rpm安装包,上传到离线或内网环境的Linux机器。
内网安装Docker服务
安装步骤如下:
1 [root@docker02 docker_rpm]# pwd
2 /root/service_install/docker_rpm
3 [root@docker02 docker_rpm]#
4 [root@docker02 docker_rpm]# ll
5 total 100904
6 -rw-r--r-- 1 root root 78256 Aug 23 2019 audit-libs-python-2.8.5-4.el7.x86_64.rpm
7 -rw-r--r-- 1 root root 302068 Nov 12 2018 checkpolicy-2.5-8.el7.x86_64.rpm
8 -rw-r--r-- 1 root root 30374084 Sep 18 01:54 containerd.io-1.3.7-3.1.el7.x86_64.rpm
9 -rw-r--r-- 1 root root 40816 Jul 6 22:33 container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm
10 -rw-r--r-- 1 root root 302564 May 14 01:09 device-mapper-1.02.164-7.el7_8.2.x86_64.rpm
11 -rw-r--r-- 1 root root 195448 May 14 01:11 device-mapper-event-1.02.164-7.el7_8.2.x86_64.rpm
12 -rw-r--r-- 1 root root 195004 May 14 01:12 device-mapper-event-libs-1.02.164-7.el7_8.2.x86_64.rpm
13 -rw-r--r-- 1 root root 331908 May 14 01:13 device-mapper-libs-1.02.164-7.el7_8.2.x86_64.rpm
14 -rw-r--r-- 1 root root 432624 Apr 4 04:50 device-mapper-persistent-data-0.8.5-2.el7.x86_64.rpm
15 -rw-r--r-- 1 root root 25268380 Sep 18 03:06 docker-ce-19.03.13-3.el7.x86_64.rpm
16 -rw-r--r-- 1 root root 40247476 Sep 18 03:06 docker-ce-cli-19.03.13-3.el7.x86_64.rpm
17 -rw-r--r-- 1 root root 24744 Nov 25 2015 libaio-0.3.109-13.el7.x86_64.rpm
18 -rw-r--r-- 1 root root 67720 Aug 23 2019 libcgroup-0.41-21.el7.x86_64.rpm
19 -rw-r--r-- 1 root root 57460 Apr 4 04:59 libseccomp-2.3.1-4.el7.x86_64.rpm
20 -rw-r--r-- 1 root root 115284 Nov 12 2018 libsemanage-python-2.5-14.el7.x86_64.rpm
21 -rw-r--r-- 1 root root 1384208 May 14 01:19 lvm2-2.02.186-7.el7_8.2.x86_64.rpm
22 -rw-r--r-- 1 root root 1143916 May 14 01:19 lvm2-libs-2.02.186-7.el7_8.2.x86_64.rpm
23 -rw-r--r-- 1 root root 938736 Apr 4 05:05 policycoreutils-2.5-34.el7.x86_64.rpm
24 -rw-r--r-- 1 root root 468316 Apr 4 05:05 policycoreutils-python-2.5-34.el7.x86_64.rpm
25 -rw-r--r-- 1 root root 232448 Aug 23 2019 python-chardet-2.2.1-3.el7.noarch.rpm
26 -rw-r--r-- 1 root root 32880 Jul 4 2014 python-IPy-0.75-6.el7.noarch.rpm
27 -rw-r--r-- 1 root root 273012 Jul 4 2014 python-kitchen-1.1.1-5.el7.noarch.rpm
28 -rw-r--r-- 1 root root 635184 Nov 12 2018 setools-libs-3.3.8-4.el7.x86_64.rpm
29 -rw-r--r-- 1 root root 124852 May 14 03:58 yum-utils-1.1.31-54.el7_8.noarch.rpm
由上可见rpm包比较多,由于包之间会存在相互依赖,我们不可能手动安装rpm包。因此我们使用yum安装,并且安装时会自动处理rpm包相互依赖的问题,具体如下:
1 [root@docker02 docker_rpm]# pwd
2 /root/service_install/docker_rpm
3 [root@docker02 docker_rpm]#
4 [root@docker02 docker_rpm]# yum install -y *.rpm
5 [root@docker02 docker_rpm]#
6 [root@docker02 docker_rpm]# docker -v
7 Docker version 19.03.13, build 4484c46d9d
如此,docker服务安装完毕!
内网安装Ansible服务
安装步骤如下:
1 [root@docker02 ansible_rpm]# pwd
2 /root/service_install/ansible_rpm
3 [root@docker02 ansible_rpm]#
4 [root@docker02 ansible_rpm]# ll -h
5 total 22M
6 -rw-r--r-- 1 root root 18M Jun 19 13:08 ansible-2.9.10-1.el7.noarch.rpm
7 -rw-r--r-- 1 root root 55K Jan 30 2015 libyaml-0.1.4-11.el7_0.x86_64.rpm
8 -rw-r--r-- 1 root root 503K Apr 25 2018 python2-cryptography-1.7.2-2.el7.x86_64.rpm
9 -rw-r--r-- 1 root root 126K Jun 20 05:14 python2-httplib2-0.18.1-3.el7.noarch.rpm
10 -rw-r--r-- 1 root root 42K Apr 23 23:36 python2-jmespath-0.9.4-2.el7.noarch.rpm
11 -rw-r--r-- 1 root root 100K Nov 21 2016 python2-pyasn1-0.1.9-7.el7.noarch.rpm
12 -rw-r--r-- 1 root root 1.4M Jul 4 2014 python-babel-0.9.6-8.el7.noarch.rpm
13 -rw-r--r-- 1 root root 5.8K Mar 14 2015 python-backports-1.0-8.el7.x86_64.rpm
14 -rw-r--r-- 1 root root 13K Apr 25 2018 python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
15 -rw-r--r-- 1 root root 218K Nov 21 2016 python-cffi-1.6.0-5.el7.x86_64.rpm
16 -rw-r--r-- 1 root root 53K Nov 25 2015 python-enum34-1.0.4-1.el7.noarch.rpm
17 -rw-r--r-- 1 root root 94K Aug 11 2017 python-idna-2.4-1.el7.noarch.rpm
18 -rw-r--r-- 1 root root 35K Nov 21 2016 python-ipaddress-1.0.16-2.el7.noarch.rpm
19 -rw-r--r-- 1 root root 519K Aug 23 2019 python-jinja2-2.7.2-4.el7.noarch.rpm
20 -rw-r--r-- 1 root root 26K Jul 4 2014 python-markupsafe-0.11-10.el7.x86_64.rpm
21 -rw-r--r-- 1 root root 269K Nov 21 2018 python-paramiko-2.1.1-9.el7.noarch.rpm
22 -rw-r--r-- 1 root root 123K Aug 11 2017 python-ply-3.4-11.el7.noarch.rpm
23 -rw-r--r-- 1 root root 105K Nov 25 2015 python-pycparser-2.14-1.el7.noarch.rpm
24 -rw-r--r-- 1 root root 397K Aug 11 2017 python-setuptools-0.9.8-7.el7.noarch.rpm
25 -rw-r--r-- 1 root root 154K Jul 4 2014 PyYAML-3.10-11.el7.x86_64.rpm
26 -rw-r--r-- 1 root root 22K Sep 8 2017 sshpass-1.06-2.el7.x86_64.rpm
由上可见rpm包比较多,由于包之间会存在相互依赖,我们不可能手动安装rpm包。因此我们使用yum安装,并且安装时会自动处理rpm包相互依赖的问题,具体如下:
1 [root@docker02 ansible_rpm]# pwd
2 /root/service_install/ansible_rpm
3 [root@docker02 ansible_rpm]#
4 [root@docker02 ansible_rpm]# yum install -y *.rpm
5 [root@docker02 ansible_rpm]#
6 [root@docker02 ansible_rpm]# ansible --version
7 ansible 2.9.10
8 config file = /etc/ansible/ansible.cfg
9 configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
10 ansible python module location = /usr/lib/python2.7/site-packages/ansible
11 executable location = /bin/ansible
12 python version = 2.7.5 (default, Aug 7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
如此,ansible服务安装完毕!
相关阅读
———END———
如果觉得不错就关注下呗 (-^O^-) !

Linux系统如何在离线环境或内网环境安装部署Docker服务和其他服务的更多相关文章
- Linux内网环境DNS修改域名指向,JAVA应用程序能否实时切换的问题总结
公司内网环境中许多调用资源(数据库.web接口等)都是通过内网DNS服务来进行域名-IP的映射. 但经常出现DNS映射修改完毕后,应用中连接的资源迟迟没有变更. 以前一直笼统的认为是linux的dns ...
- 内网环境下为Elasticsearch 5.0.2 添加head服务
背景: 本项目的服务器是内网环境,没有网络,因此需要在离线的环境中,安装head服务. 需要用到的安装包有: node的安装包 elasticsearch的head插件源码 说明:此次只讲述为elas ...
- 内网环境搭建NTP服务器
说在前面:ntp和ntpdate区别 ①两个服务都是centos自带的(centos7中不自带ntp).ntp的安装包名是ntp:ntpdate的安装包是ntpdate.他们并非由一个安装包提供. ② ...
- 内网环境上部署k8s+docker集群:集群ftp的yum源配置
接触docker已经有一年了,想把做的时候的一些知识分享给大家. 因为公司机房是内网环境无法连接外网,所以这里所有的部署都是基于内网环境进行的. 首先,需要通过ftp服务制作本地的yum源,可以从ht ...
- Centos7.2内网环境安装MySQL5.7.24
1.配置本地yum源 内网环境,首先需要配置本地yum源,以解决MySQL的依赖安装,具体参考该文:点击打开 2.查看服务器环境 uname -a 3.去官网下载MySQL安装包 MySQL官网网址: ...
- 内网环境使用ansible安装software 需要外网时,如何绑定代理呢
内网环境使用ansible安装software 需要外网时,如何绑定代理呢? 方法一: 在ansible 的脚本里,yum install 的地方,添加语句: environment: https_p ...
- Linux系统之路——如何在服务器用U盘安装CentOS7.2(二)
Linux系统之路——如何在服务器用U盘安装CentOS7.2(一) 说明: 截止目前CentOS 7.x最新版本为CentOS 7.2.1511,下面介绍CentOS 7.2.1511的具体安装配置 ...
- Linux系统之路——如何在服务器用U盘安装CentOS7.2(一)
终于将CentOS7装上服务器(thinkserver250,不得不说联想的太烂了)了,过程无比艰辛,因为我发现网上大家提到的所有U盘安装CentOS7时碰到的问题几乎都被我碰到了,像什么: 1.刻录 ...
- Docker源码安装附内网镜像安装演示
Docker源码安装附内网镜像安装演示 系统版本要求 当前系统版本:CentOS Linux release 7.9.2009 (Core) 内核版本:3.10.0-1160.el7.x86_64 注 ...
随机推荐
- 关于action的使用在firefox报错的问题
现在的网站有很多都是鼠标移到上面去才会显示出相应的一些标签之类的东西,然后再进行操作,但是因为要操作的元素一开始是隐藏的,就没办法直接定位,只能调用action来模拟鼠标悬停操作,也就是下面这句代码: ...
- Left Mouse Button (bfs)
Mine sweeper is a very popular small game in Windows operating system. The object of the game is to ...
- webpack使用优化(基本篇
为什么要使用Webpack 与react一类模块化开发的框架搭配着用比较好. 属于配置型的构建工具,比较用容易上手,160行代码可大致实现gulp400行才能实现的功能. webpack使用内存来对构 ...
- Java反射(一)
什么是反射? 在程序的运行过程中,可以动态的创建对象. 反射的基石是什么? 字节码对象是反射的基石.字节码对象:Java类文件通过javac进行编译后生成的xxx.class文件,此文件由jvm加载至 ...
- 09_Python语法示例(数据类型)
1.买苹果,计算金额并保留两位小数 price = int(input("苹果的单价: ")) weight = float(input("苹果的重量: ")) ...
- Kubernetes 服务部署最佳实践(一) ——如何更好地设置 Request 与 Limit
如何为容器配置 Request 与 Limit? 这是一个即常见又棘手的问题,这个根据服务类型,需求与场景的不同而不同,没有固定的答案,这里结合生产经验总结了一些最佳实践,可以作为参考. 所有容器都应 ...
- Unity接入多个SDK的通用接口开发与资源管理(一)
每一款游戏都有接入多个SDK的需求.当接入多个SDK时会面临两个问题: (1)代码层面:每个SDK都有调用各自功能的方法,我们需要统一管理每个SDK提供的方法,这样会使每个SDK调用方便,使代码整洁易 ...
- sql注入 报错注入常用的三种函数
1.floor()函数 报错原因是 报错的原因是因为rand()函数在查询的时候会执行一次,插入的时候还会执行一次.这就是整个语句报错的关键 前面说过floor(rand(0)*2) 前六位是0110 ...
- Spring基于XML的IOC环境搭建及入门
一.使用Maven构建Java项目 * 项目目录结构 1. 在sun.service包下创建UserDao接口和接口实现类: UserDao接口: package sun.service; /** * ...
- 腾讯会议大规模使用Kubernetes的技术实践
腾讯会议,一款提供灵活协作的线上会议解决方案.其中大量的模块是有状态服务,在使用Kubernetes为其进行容器化部署时,Pod升级需保持共享内存.长连接服务.升级时只容忍ms级抖动,需提供大规模分批 ...