Docker离线安装(CentOS)

目的是纯离线安装

第一波

首先,通过该页面(图a)的指引在链接https://download.docker.com/linux/centos/7/x86_64/stable/Packages/下载了相关的rpm。

containerd.io-1.4.9-3.1.el7.x86_64.rpm
docker-ce-20.10.9-3.el7.x86_64.rpm
docker-ce-cli-20.10.9-3.el7.x86_64.rpm
docker-ce-rootless-extras-20.10.9-3.el7.x86_64.rpm
docker-ce-selinux-17.03.3.ce-1.el7.noarch.rpm
docker-scan-plugin-0.9.0-3.el7.x86_64.rpm
图a

然后传到内网电脑的一个空文件夹里,接着在该文件夹里执行yum install *.rpm,但是这些rpm包依赖其它rpm,意味着也要下载相关联的rpm包。最终,按着一个个提示下载了一大堆,见图b。

图b

很不幸,还是不行,还有下载其它依赖。这样子当然不行啦,完全是个无底洞,谁知道还要下载多少(得疯),所以宣告第一波操作失败~。

第二波

那官方有没有提供相关的压缩包呢,有的https://download.docker.com/linux/static/stable/x86_64/,在这个地址里看到相关的压缩包。下载后查看里面的内容,是一些命令,如图c

图c

备注:这只是docker-19.03.8.tgz的内容,还有一个docker-rootless-extras-20.10.9.tgz

这里,我只把docker-19.03.8.tgz放到内网里了,接下来的操作是这样的,如下:

最终,离线安装成功。

那它这里给我们准备的包能用到生产环境下?我给自己打了个问号。这个压缩包是面对所有linux系统的,那对于具体的linux系统(centos、ubuntu等),它舍弃了哪些?还是兼容了所有?目前没找到答案(彩笔啊~~~)。所以有了再进一步的想法,我这该死的强迫症。

一年过去了,第三波里的解决方案确实挺麻烦的,也许当前的方案也不错~

第三波

想要使用具体的linux系统的docker包,就得在第一波的基础上搞事情--有没有什么工具可以把docker及相关的所有依赖全部下载到指定文件夹里?然后找到了这个东西yumdownloader
参考链接:https://www.cnblogs.com/caihl/articles/15188260.html

使用了链接中的方法二

经过测试,能达到预期目的--目的包及其依赖包。但存在一个问题--已经下载的包不会再下载,这意味着指定的文件夹里的包也可能是不完整的。这应该怎么办呢?内外网两台电脑的所有东西要是一样的(可以理解为一个是另一个的克隆),接着再执行相关命令,如: yum install --downloadonly --downloaddir=/tmp docker-ce docker-ce-cli containerd.io。最后,再把文件夹里的所有包放到内网的电脑里安装,在该文件夹里执行yum install *.rpm

理论上,这是可行的。但手上没这个条件来模拟,所以就这样吧,累~~~


更新~
刚好要用上离线安装,在该死的强迫症下,还是把理论进行了验证。
步骤如下:
1、准备两台一样的服务器,接着使其中一台不能联网,保证可以使用yum命令
2、在联网的服务器上安装yum-utils yum install -y yum-utils
3、创建一个空文件夹,并执行docker相关下载

# 使用yum也行,这里是直接使用了yumdownloader
yumdownloader  --resolve --destdir /root/kk docker-ce docker-ce-cli containerd.io

最终得到这些


4、安装。把3中得到的文件打包上传到非联网的服务器上并解压,在当前文件夹下执行yum install *.rpm,安装完后执行docker -v查看版本信息(侧面验证安装是否成功)
5、启动服务。systemctl start docker
6、验证。执行docker run hello-world,看是否能正常运行镜像(hello-world镜像需要自己下载并导入)

#hello-world镜像下载、导出、导入
#在联网的电脑上下载、导出
docker pull hello-world # 拉取最新的hello-world镜像
docker save -o filename hello-world # 导出到当前目录下,并命名为filename
#在无网的电脑中导入
docker load -i filename # 在当前目录下导入hello-world镜像

一路顺利完成,理论正确!!!

生产应用

注意事项

  • 最好使用第三波中的方式。注意两台服务器都未曾安装相关的rpm及其依赖的rpm(在开始下载rpm时先做服务器器快照,方便回滚)。如果最后安装出错,很可能两台服务器不一致,存在依赖包缺失问题。
  • 统一docker版本。上述是直接使用最新版的docker,在安装时建议指定版本。

更新~

生产应用时可能还是使用第二波中的方式好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容