241023-RHEL非管理员安装Docker并开放指定宿主机端口部署Gitlab
A. RHEL非管理员安装Docker
要在没有管理员权限的情况下离线安装 Docker 和 Docker Compose,虽然受到一定限制,仍有一些可行的步骤可以帮助你在有限权限下完成这项任务。需要注意的是,这种方式适用于本地用户环境下的 Docker 安装,而不会影响到全局系统设置。以下是详细步骤:
步骤 1:准备离线安装文件
你可以在有网络连接的机器上下载需要的 Docker 和 Docker Compose 可执行文件,并将它们传输到目标机器。
1.1. 下载 Docker 二进制文件
Docker 的二进制文件可以直接从 Docker 官方网站下载:
- Docker Releases
选择适合你系统架构的 Docker 二进制文件(一般为 docker-<version>.tgz
),然后解压到一个本地目录。
示例命令(在有网络的环境中):
wget https://download.docker.com/linux/static/stable/x86_64/docker-<version>.tgz
tar xzvf docker-<version>.tgz
1.2. 下载 Docker Compose 二进制文件
同样,你也可以下载 Docker Compose 的二进制文件:
- Docker Compose Releases
选择你所需的 Docker Compose 版本(.zip
或 .tar.gz
文件),并将其下载解压。
步骤 2:配置 Docker 和 Docker Compose
将解压后的 Docker 和 Docker Compose 二进制文件放置在你有权限的目录下(例如用户的 home
目录中)。
2.1. 安装 Docker
将解压后的 docker
二进制文件放置在你本地目录下,设置执行权限:
# 移动到你有权限的路径,例如 $HOME/docker/
mv docker/* ~/docker/# 给所有二进制文件赋予可执行权限
chmod +x ~/docker/*
你可以将 docker
目录添加到 PATH
环境变量中,方便后续调用 Docker 命令。
echo 'export PATH=$PATH:$HOME/docker' >> ~/.bashrc
source ~/.bashrc
2.2. 安装 Docker Compose
下载的 Docker Compose 文件同样需要放置在一个可执行的目录中:
mv docker-compose-<version> ~/docker/docker-compose
chmod +x ~/docker/docker-compose
将 Docker Compose 的路径也添加到 PATH
中:
echo 'export PATH=$PATH:$HOME/docker' >> ~/.bashrc
source ~/.bashrc
步骤 3:启动 Docker(无 root 权限)
如果没有管理员权限启动 Docker 服务,使用者可以通过 rootless
模式运行 Docker。
3.1. 安装 rootless Docker
首先,下载并安装 rootless Docker 的依赖库 newuidmap
和 newgidmap
。
由于这是一个离线安装,你可能需要在有网络的环境中找到相应的 deb
或 rpm
文件,下载后通过用户权限进行安装。
安装完成后,运行以下命令配置 Docker rootless 模式:
./dockerd-rootless-setuptool.sh install
此处会报错:
[liuguokai@PPSE1LLM163 docker]$ ./dockerd-rootless-setuptool.sh install
[ERROR] Missing system requirements. Run the following commands to
[ERROR] install the requirements and run this tool again.
[ERROR] Alternatively iptables checks can be disabled with –skip-iptables .
########## BEGIN ##########
sudo sh -eux <<EOF
Load ip_tables module
modprobe ip_tables
EOF
########## END ##########
- 解决方法1:联系管理员身先执行下面代码,再重复执行
sudo modprobe ip_tables
./dockerd-rootless-setuptool.sh install
- 解决方法2: 直接执行
./dockerd-rootless-setuptool.sh install --skip-iptables
此脚本会为 Docker 创建一个 rootless 用户守护进程,并允许你在非管理员权限下运行 Docker 容器。
步骤 4:验证安装
完成上述步骤后,重新启动终端会话或手动加载环境变量,然后运行以下命令以确认 Docker 和 Docker Compose 是否安装成功:
docker --version
docker-compose --version
如果这些命令返回相应的版本信息,说明 Docker 和 Docker Compose 已成功安装并可用。
结论
通过上述方式,可以在没有管理员权限的环境下离线安装 Docker 和 Docker Compose。重点是下载必要的二进制文件并利用 Docker 的 rootless 模式来启动 Docker 容器。
B. 如何Pull镜像 + 如何安装Gitlab
B.1 下载离线的Docker镜像文件
- 如何使用docker离线包?从此告别头疼的docker pull_哔哩哔哩_bilibili
B.2 通过Docker搭建Gitlab服务
- Docker 搭建 Gitlab 服务器 (完整详细版)_docker gitlab-CSDN博客
# 启动容器
docker run \-itd \-p 5004:80 \-p 5005:22 \-v /home/liuguokai/docker/data/gitlab/etc:/etc/gitlab \-v /home/liuguokai/docker/data/gitlab/log:/var/log/gitlab \-v /home/liuguokai/docker/data/gitlab/opt:/var/opt/gitlab \--restart always \--privileged=true \--name gitlab \--shm-size 1g \ gitlab/gitlab-ce
新增--shm-size 1g \
是为了解决网页卡顿出现500/502
的情况
- Docker安装gitlab 运行一段时间后报500/502_docker gitlab 502-CSDN博客
- 关于gitlab通过docker启动后,间歇性报500及502的问题_docker gitlab 502-CSDN博客
C. 开放9980端口的步骤
在RHEL系统中开放9980端口,可以按照以下步骤进行操作:
1. 确保firewalld
服务已启动
首先检查并启动firewalld
服务:
sudo systemctl status firewalld
如果服务未运行,可以启动它:
sudo systemctl start firewalld
2. 添加防火墙规则以开放9980端口
使用以下命令开放9980端口:
sudo firewall-cmd --permanent --add-port=9980/tcp
3. 重新加载防火墙规则
应用更改后,重新加载防火墙配置:
sudo firewall-cmd --reload
4. 确认端口是否开放
验证端口是否成功开放:
sudo firewall-cmd --list-ports
这将显示所有已开放的端口,检查是否包括9980端口。
5. 检查服务绑定端口
确保你要使用的服务绑定了9980端口,可以用以下命令检查:
sudo ss -tuln | grep 9980
如果这些步骤没有问题,9980端口应该已经成功开放。
相关文章:
241023-RHEL非管理员安装Docker并开放指定宿主机端口部署Gitlab
A. RHEL非管理员安装Docker 要在没有管理员权限的情况下离线安装 Docker 和 Docker Compose,虽然受到一定限制,仍有一些可行的步骤可以帮助你在有限权限下完成这项任务。需要注意的是,这种方式适用于本地用户环境下的 Docker 安装࿰…...
python ubuntu安装加速
ubuntu升级python到python3.11(可能是全网最靠谱的方法,亲测有效)_ubuntu python3.11-CSDN博客 python-release安装包下载_开源镜像站-阿里云...
100种算法【Python版】第12篇——快速幂算法
本文目录 1 基本原理2 基本步骤3 数学示例4 python代码1 基本原理 快速幂算法(Fast Exponentiation)是一种高效计算整数幂的方法,尤其适用于计算大数的幂。其主要思想是利用分治法和二进制表示来减少乘法运算的次数,从而加快计算速度。 计算 x n x^n x...
Java多线程详解②(全程干货!!!)Thread Runnable
这里是Themberfue 上节主要讲完了多线程的一些基础知识,这节通过代码进一步理解多线程🫡 多线程 Java标准库中提供了Thread类,以程序员们编写多线程代码,我们可以查看官方文档进一步了解Thread的特性以及提供的接口。 类似于Sy…...
机器学习——图神经网络
图神经网络(GNN):理解复杂网络数据的有效工具 图神经网络(Graph Neural Network, GNN)是近年来机器学习领域的热门话题。GNN 以图结构数据为核心,能够高效地捕捉节点和边的复杂关系,广泛应用于社交网络、推荐系统、生…...
一、在cubemx下RTC配置调试实例测试
一、rtc的时钟有lse提供。 二、选择rtc唤醒与闹钟功能 内部参数介绍 闹钟配置 在配置时间时,注意将时间信息存储起来,防止复位后时间重新配置。 if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0)! 0x55AA)//判断标志位是否配置过,没有则进…...
【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin
【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像:2、启动镜像3、访问服务4、参考文档 Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像: docker pull nyanmisaka/jellyfin:230901-amd64jellyfin 10.8.10版本ÿ…...
合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能
文章目录 写在前面图像内容安全图像篡改应用场景伪造文档/证照检测伪造人脸检测 GAI时代系统构建加速通用文档解析 合合信息 写在前面 随着人工智能技术的飞速发展,生成式AI已经悄然步入了我们的日常生活,以其强大的内容生成能力,重塑了信息…...
京东双十一高并发场景下的分布式锁性能优化
背景 在电商领域,尤其是像京东双十一这样的大促活动,系统需要处理极高的并发请求。这些请求往往涉及库存的查询和更新,如果处理不当,很容易出现库存超卖、数据不一致等问题。分布式锁作为一种有效的解决方案,能够在多…...
华为ICT题库-AI 人工智能部分
1178、以下哪个选项是华为的云端AI芯片?(云服务考点) (A)Inferentia (B)MLU100 (C)Cloud TPU (D)Ascend 910 答案:D 解析:华为的云端AI芯片被称为Ascend芯片系列,其中Ascend 910是其旗舰产品。Ascend 910…...
React Native 修改安卓应用图片和名称
在React Native(RN)项目中,修改安卓应用图标和名称通常涉及对Android原生代码的一些修改。以下是详细步骤: 修改应用图标 准备图标资源: 创建或获取你想要的图标,并确保它们符合Android的图标规范…...
普推知产:商标初审已下,商标申请通过如何高些!
近期下来一批商标注册的初步审公告通知书,一些客户对商标下证要求比较高的,普推知产商标老杨发现,要像下证高核心还是在于名称,名称起好备用的多,让商标专业人士经检索后层层过滤后提报,通过会好很多。 普推…...
HICP--2
在area 0的路由器只生成 area 0 的数据库,只在area 1 的一样。但是既在又在的生成两个 area的 LSDB 一、区域间三类LSA 在OSPF(Open Shortest Path First)协议中,区域间三类LSA(Link-State Advertisement)…...
sheng的学习笔记-AI基础-正确率/召回率/F1指标/ROC曲线
AI目录:sheng的学习笔记-AI目录-CSDN博客 分类准确度问题 假设有一个癌症预测系统,输入体检信息,可以判断是否有癌症。如果癌症产生的概率只有0.1%,那么系统预测所有人都是健康,即可达到99.9%的准确率。 但显然这样的…...
Linux -- 共享内存(2)
目录 命令 ipcs -m : 命令 ipcrm -m shmid: 共享内存的通信: 为什么共享内存更高效? 代码: ShmClient.cc: ShmServer.cc: 结果: 如何让共享内存实现同步? 代码&a…...
云函数实现发送邮件,以qq邮箱为例
云函数实现发送邮件,前端传参调用发送邮件即可。以qq邮箱为例。 1、开启qq邮箱的smtp服务并且生成授权码,操作界面如下图: 2、在腾讯云新建一个云函数代码如下: const nodemailer require("nodemailer");// 云函数入口函数 export…...
Kafka如何控制消费的位置?
大家好,我是锋哥。今天分享关于【Kafka如何控制消费的位置?】面试题?希望对大家有帮助; Kafka如何控制消费的位置? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Kafka 中,控制消费位置主要通过以下几个机制来实…...
python爬虫——Selenium的基本使用
目录 一、Selenium的介绍 二、环境准备 1.安装Selenium 2.安装WebDriver 三、元素定位 1.常用定位元素的方法 2. 通过指定方式定位元素 四、窗口操作 1.最大化浏览器窗口 2.设置浏览器窗口大小 3.切换窗口或标签页 切换回主窗口 4. 关闭窗口 关闭当前窗口 关闭所…...
【Linux】【xmake】安装 + C/C++常用项目配置
文章目录 0. 环境准备1. 子命令create - 快速创建项目build - 构建程序config - 配置编译需要的参数show - 查看当前工程基本信息update - 程序自更新 2. C/C 项目常用配置2.1 项目目标类型2.2 添加宏定义2.3 头文件路径和链接库配置2.4 设置语言标准2.5 设置编译优化2.6 添加源…...
Android 添加菜单开关控制Camera相机和第三方相机
本文主要通过SystemProperties系统属性和Settings.System存储数据库的状态进行判断,从而实现控制相机 /vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml <!--camera--> <string name="manager_camera_switch"&…...
【Java知识】使用jacoco实现代码覆盖率测试
文章目录 1. 添加JaCoCo插件到项目2. 配置Maven Surefire Plugin3. 执行测试并生成报告4. 查看覆盖率报告注意事项 要使用JaCoCo实现代码覆盖率测试,你需要遵循以下步骤: 1. 添加JaCoCo插件到项目 在Maven项目的pom.xml文件中添加JaCoCo插件。这允许你执…...
道路车辆功能安全 ISO 26262标准(9-2)—面向汽车安全完整性等级 (ASIL) 和安全的分析
写在前面 本系列文章主要讲解道路车辆功能安全ISO26262标准的相关知识,希望能帮助更多的同学认识和了解功能安全标准。 若有相关问题,欢迎评论沟通,共同进步。(*^▽^*) 1. 道路车辆功能安全ISO 26262标准 9. ISO 26262-9 面向汽车安全完整…...
hutool常用方法
1、树结构工具-TreeUtil 构建Tree示例 package com.sl.transport.common.util;import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.TreeNode; import cn.hutool.core…...
CloudSat数据产品数据下载与处理 (matlab)
CloudSat数据下载 这个数据我之前和CALIPSO弄混了,后来发现它们虽然是同一个火箭上去,但是数据产品却在不同的平台下,CloudSat的数据更加关注云的特性,包括云覆盖、云水当量、云分类数据。 数据网址在:CloudSat网址 …...
LDR6500 一拖三快充线的定义与特点
定义:LDR6500 一拖三快充线是一种具有 Type-C 接口的充电线,它的最大特点是可以同时连接三个设备进行快速充电。 特点: 高效充电:采用先进的快充技术,能够快速为设备充电,大大缩短充电时间。同时…...
Elasticsearch安装使用
ES 概述 Elasticsearch,简称为 ES,是一款非常强大的开源的高扩展的分布式全文检索引擎,可以帮助我们从海量数据中快速找到需要的内容,它可以近乎实时的存储、检索数据.还可以可以实现日志统计、分析、系统监控等功能. 官网:https://www.elast…...
计算机网络的主要知识点小结
计算机网络是指将多台计算机通过通信线路连接起来,实现资源共享和信息传递的系统。 一、计算机网络概述 1. 定义和功能 - 定义:计算机网络是将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操…...
fastjson/jackson对getter,setter和constructor的区分
在复现完fastjson1.2.24-1.2.80和jackson的所有相关漏洞后,总结的一些规则 以下均指对json的反序列化过程 setter fastjson调用setter:遍历所有方法,找出所有满足setter要求的方法,再根据传入的json去反射调用 jackson调用set…...
认识CSS语法
CSS(网页美容) 重点:选择器、盒子模型、浮动、定位、动画,伸缩布局 Css的作用: 美化网页:CSS控制标签的样式 网页布局:CSS控制标签的位置 概念:层叠样式表(级联样式表…...
Linux运维篇-ansible的使用
目录 ansible简介ansible架构1、连接插件2、核心模块3、自定义模块4、插件5、剧本6、主机清单 ansible的执行过程安装Ansibleansible的使用ansible.cfg文件修改添加主机清单方式一方式二方式三 测试主机清单连接 ansible简介 简单来说,ansible就是一个自动化运维工…...
怎样做网站平台赚钱/网站seo优化外包顾问
使用Typora将其中的图片自动上传云床,并替换链接 文章目录准备工作以Gitee为例使用感受准备工作 下载Typora 下载**typora-plugins-win-img** 安装好Typora [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nwaanekr-1582617480654)(ht…...
网站建设和运营的课程/优化网站最好的刷排名软件
https://www.jianshu.com/p/15e6209d2e6f转载于:https://blog.51cto.com/xuguohongai/2125136...
wordpress主题博客选项/长沙网站推广seo
初中信息技术教师资格证面试教案模板《修改图形》一、教材分析《修改图形》是画图中的一个重要内容,是在学生学习了画线、画多边行、涂色等操作的基础上进行的。本课以“环保”为主线,利用“橡皮”、“裁剪”、“放大镜”等画图工具来美化图像࿰…...
网站设计维护合同/2022年国际十大新闻
问题描述: 在iOS14中,使用TabbarController(UITabBarController子类对象)管理NavigationController(UINavationController子类对象),然后使用navigationController(UINavigatiiontroller或者其子类)进行控制器管理,在navigationController的…...
周口网站制作公司哪家好/seo网络推广培训
DEMO集成到了InstancingDemo中. 可以查看游戏中每一个模块的耗时情况. 操作方式:F2 显示引擎的性能分析界面F3 性能分析暂停与恢复F4 性能分析的背景色调整 下载地址: http://pan.baidu.com/s/1kUFBS…...
装修公司网站多少钱/互联网运营培训课程
1、安装ubuntu 要打造一套全免费的网管系统,操作系统也要选择免费的。笔者选择免费开源的ubuntu 作为操作系统。ubuntu下载地址是http://d235whtva55mz9.cloudfront.net/ubuntu-11.04-server-i386.iso。请下载安装32位版本。1-1、选择安装向导语言,建议选…...