麒麟系统(Liunx)离线安装docker和docker compose

news2024/9/22 10:03:04

文章目录

      • 一、前言
      • 二、准备工作
        • 1、查看操作系统版本
        • 2、查看操作系统架构
      • 三、安装docker和docker compose
        • 1、下载docker离线包
        • 2、下载docker compose离线包
        • 3、准备 docker.service 系统配置文件
        • 4、准备docker的安装脚本文件
        • 5、准备docker的卸载脚本文件
        • 6、安装 docker 和 docker compose 离线包
        • 7、验证安装是否成功

一、前言

  在工作中遇到客户服务器的网络限制,不允许连接外网,并且由于客户的服务器是银河麒麟系统(麒麟系统是国家专项支持下,以Linux为内核的操作系统),在本地VMware虚拟机中的银河麒麟系统,用dnf安装的docker引擎,在运行docker镜像的时候出现了问题(具体什么原因没弄清楚,离线安装了最新的docker就好了),因此需要离线安装docker。担心时间长了自己会忘记,因此把这次经历记录下来,也希望能帮助到其他人。

二、准备工作

1、查看操作系统版本

cat /proc/version
#或者
uname -a

2、查看操作系统架构

arch
#或者
uname -m

三、安装docker和docker compose

1、下载docker离线包

下载地址:https://download.docker.com/linux/static/stable/
选择对应的系统架构:
docker下载
docker的版本选择最新社区版,目前版本是:docker-18.06.3-ce.tgz

2、下载docker compose离线包

下载地址:https://github.com/docker/compose/releases
选择对应系统架构的离线安装包:
docker compose下载

3、准备 docker.service 系统配置文件

docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

将脚本内容保存为 “docker.service”文件。

4、准备docker的安装脚本文件

#!/bin/sh
# 
# 说明:离线安装 docker 和 docker-compose 
# 日期:2023-01-06
# 作者:zhb

echo '解压tar包...'
tar -xvf docker-18.06.3-ce.tgz
echo '将docker目录移动/usr/bin目录下...'
cp -p docker/* /usr/bin/
rm -rf docker/
echo '将docker-compose文件复制到/usr/local/bin/目录下,并重命名为docker-compose'
cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
echo '添加docker-compose文件权限'
chmod +x /usr/local/bin/docker-compose
echo '将docker.service 移到/etc/systemd/system/ 目录...'
cp docker.service /etc/systemd/system/
echo '添加文件权限...'
chmod +x /etc/systemd/system/docker.service
echo '重新加载配置文件...'
systemctl daemon-reload
echo '启动docker...'
systemctl start docker
echo '设置开机自启...'
systemctl enable docker.service
echo 'docker安装成功...'
docker -v

将脚本内容保存为“install.sh”。

5、准备docker的卸载脚本文件

#!/bin/sh
# 
# 说明:卸载离线安装的 docker 和 docker-compose 
# 日期:2023-01-06
# 作者:zhb

echo '删除docker.service...'
rm -f /etc/systemd/system/docker.service
echo '删除docker文件...'
rm -rf /usr/bin/docker*
echo '删除docker-compose文件'
rm -f /usr/local/bin/docker-compose 
echo '重新加载配置文件'
systemctl daemon-reload
echo '卸载成功...'

将脚本内容保存为“uninstall.sh”。

6、安装 docker 和 docker compose 离线包

“docker-18.06.3-ce.tgz” (docker压缩包)、“docker-compose-linux-x86_64” (docker compose文件)、“docker.service” (docker服务文件)、“install.sh” (安装脚本) 、 “uninstall.sh” (卸载脚本)
将这 5 个文件上传到服务器。
因为脚本是在windows系统上面编写的到linux上面执行会有编号问题,所以首先要处理编码问题。
执行处理编码问题的脚本

sed -i 's/\r$//' docker.service
sed -i 's/\r$//' install.sh
sed -i 's/\r$//' uninstall.sh

运行 install.sh 文件进行安装

sh install.sh

运行 uninstall.sh 文件可以进行卸载

sh uninstall.sh

7、验证安装是否成功

docker -v # 验证docker是否安装成功
# 显示 docker 的版本信息,表示安装成功
Docker version 18.06.3-ce, build d7080c1

docker-compose -v #验证docker compose是否安装成功
# 显示 docker compose 的版本信息,表示安装成功
Docker Compose version v2.15.0

说明:用 docker-compose -v 验证是否安装成功,可能会显示不了docker compose 的版本号,需要重新打开终端。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/714031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Axure高保真原型】通过输入框动态控制饼图

今天和大家分享通过输入框动态控制饼图的原型模板,在输入框里维护项目数据,可以自动生成对应的饼图,鼠标移入对应扇形,可以查看对应数据。使用也非常方便,只需要修改输入框里的数据,或者复制粘贴文本&#…

低代码应用开发 高效构建业务系统

低代码是传统软件开发逐步优化和演变的产物,并非全新革命。传统的开发方法过于昂贵和僵化,无法为企业提供所需的高效和敏捷的开发流程,且交付周期长定制能力弱,难以应对不断变化的市场和客户期望,为提高软件开发效率&a…

Python - bool转int,用类型转换还是if-else?

说下结论,虽然直接用int强转的写法比较简洁,但是用if-else的效率更高(规避了函数调用的开销)。 举个栗子: lst [True, False]def a(a100000):starttime.time()for i in xrange(a):lst[0 if random.choice(lst) else …

PCL vtk 计算点云的体积和表面积

一、CC中计算体积和表面积 二、PCL中计算体积和表面积 vtkMassProperties 来计算体积和表面积,但是必须是三角化的模型,不能是多边形的模型 vtkTriangleFilter如果是其他模型的就转换为三角化的模型 // 计算点云的体积和表面积 // 输入的不能是点云&am…

限时等待

如果一个线程要等待的线程的目标没有实现,那么他会一直等下去,此时就陷入了阻塞等待。 还有一种等待状态叫做延时等待,如果如果我去吃饭,但是饭店已经客满,需要排号,当排到我号时,饭店会叫我&am…

持续挖掘助力创新,亚马逊云科技全新开启“创业加速器”第一期招募

就像人从婴儿开始成长,参天大树从嫩芽开始成长一样,所有成功的企业都是从几个人、初创团队起步发展的。例如,当今全球云计算的 Top 巨头亚马逊云科技,就是从亚马逊内部孵化出来的创业团队,亚马逊现任 CEO Andy Jassy&a…

查看windows上的dll内容

1、安装Visual Studio时选择c桌面开发和通用Windows平台开发 2、cmd运行在Visual Studio安装路径下的VC\Auxiliary\Build\vcvars64.bat 3、在这个窗口中运行dumpbin

【从零开始学习JAVA | 第二十七篇】JAVA期末练习(PTA)

目录 前言: R7-5 Count the letters in a string (统计字符串中的字符) R7-1 找素数 R7-3 电话号码同步(Java) 总结: 前言: 临近期末,我也更新一下PTA上的JAVA大题,希望…

TensorFlow项目练手(二)——猫狗熊猫的分类任务

项目介绍 通过猫狗熊猫图片来对图片进行识别,分类出猫狗熊猫的概率,文章会分成两部分,从基础网络模型->利用卷积网络经典模型Vgg。 基础网络模型 基础的网络模型主要是用全连接层来分类,比较经典的方法,也是祖先…

(c语言)给定两个数,求这两个数的最大公约数

目录 方法一 方法二&#xff1a;辗转相除法 方法一 找出两个数中的较小值&#xff0c;从较小值减至两个数%这个数0即可。 //给定两个数&#xff0c;求这两个数的最大公约数 #include <stdio.h>int main() {int a 0;int b 0;scanf("%d %d", &a, &…

【力扣】145、二叉树的后序遍历

145、二叉树的后序遍历 注&#xff1a;二叉树的后序遍历&#xff1a;左右根&#xff1b; // 递归 var postorderTraversal function (root){const arr [];//新建一个数组&#xff1b;const fun (node) >{if(node){fun(node.left);fun(node.right);arr.push(node.val)}}f…

STM32单片机蓝牙APP自动量程万用表电流电压电阻表LCD1602

实践制作DIY- GC0149---蓝牙APP自动量程万用表 基于STM32单片机设计---蓝牙APP自动量程万用表 二、功能介绍&#xff1a; STM32F103C系列最小系统板LCD1602显示器模拟开关信号选择电路电压采集电路电流测量电路&#xff08;康铜丝采样&#xff09;电阻测量电路1个黑色公共端子…

html掉落本地图片效果

实现一个加载本地图片并掉落的html页面。 说明 将DuanWu.html与zongzi_1.png, zongzi_2.png, zongzi_3.png, yadan.png4张图片放在同一个目录下&#xff0c;然后双击打开DuanWu.html即可。 使用Chrome或Microsoft Edge浏览器打开 若使用IE浏览器打开&#xff0c;下方会出现In…

Java框架之springboot starter

写在前面 本文一起看下springboot starter相关的内容。 1&#xff1a;官方提供的starter 在spring-boot-autocongure包中定义了官方提供的一百多个starter&#xff0c;如下&#xff1a; 2&#xff1a;框架是如何定义starter的&#xff1f; 因为springboot的普及度逐步提高&…

Unity Sponza(斯蓬扎宫)场景-BuildIn-URP-HDRP

Sponza&#xff08;斯蓬扎宫&#xff09;场景 &#x1f354;URP &#x1f354;URP 资源下载

Linux: hang: 线程太多,导致的一个例子

今天遇到了一个Linux系统hang住的情况&#xff0c;从vmcore里看bt&#xff0c;没有看到明显的crash、lockup等信息&#xff1b; 而且从vmcore里也不能看具体的当时CPU事情情况。 不过还是怀疑&#xff0c;是因为线程太多&#xff0c;导致资源占用比较严重&#xff0c;从而导致一…

GeForce RTX 40系列显卡哪个更好?这个避坑测评攻略快收下

自2022年底以来&#xff0c;Nvidia一直在推出基于Ada Lovelace架构的GeForce RTX 40系列消费级GPU&#xff0c;旨在取代之前基于Ampere架构的GeForce RTX 30系列和基于Turing架构的GeForce RTX 20系列。 Nvidia称其RTX 40系列GPU的性能比前代产品有了显着提升&#xff0c;许多…

写给新手程序员的一封信

为什么写这篇文章 我是一名毕业四年的后端开发&#xff08;可能会很多人来说&#xff0c;工作时间也没多长嘛&#xff09;&#xff0c;但是在这四年里&#xff0c;我写过PHP、Go、vue、做了两年多的敏捷团队管理&#xff0c;也设计过一些系统的架构。也算是有着相对较丰富的项…

数据结构-手撕单链表+代码详解

⭐️ 往期相关文章 ✨ 链接1&#xff1a;数据结构-手撕顺序表(动态版)代码详解 ✨ 链接2&#xff1a;数据结构和算法的概念以及时间复杂度空间复杂度详解 ⭐️ 链表 &#x1f320; 什么是链表&#xff1f; 链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据…

OPLS-DA分析,组间差异 图形详解

OPLS-DA分析&#xff0c;组间差异 在上一场小工具讲解中&#xff0c;小姐姐给大家介绍了PLS-DA的原理及用途&#xff0c;而在代谢组学数据分析中&#xff0c;除去PLS-DA以外&#xff0c;OPLS-DA分析也是非常常见的&#xff0c;仅一个字母之差&#xff0c;那二者到底有何差别&am…