当前位置: 首页 > news >正文

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 的依赖库 newuidmapnewgidmap

由于这是一个离线安装,你可能需要在有网络的环境中找到相应的 debrpm 文件,下载后通过用户权限进行安装。

安装完成后,运行以下命令配置 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&#xff0c;虽然受到一定限制&#xff0c;仍有一些可行的步骤可以帮助你在有限权限下完成这项任务。需要注意的是&#xff0c;这种方式适用于本地用户环境下的 Docker 安装&#xff0…...

python ubuntu安装加速

ubuntu升级python到python3.11&#xff08;可能是全网最靠谱的方法&#xff0c;亲测有效&#xff09;_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 上节主要讲完了多线程的一些基础知识&#xff0c;这节通过代码进一步理解多线程&#x1fae1; 多线程 Java标准库中提供了Thread类&#xff0c;以程序员们编写多线程代码&#xff0c;我们可以查看官方文档进一步了解Thread的特性以及提供的接口。 类似于Sy…...

机器学习——图神经网络

图神经网络(GNN)&#xff1a;理解复杂网络数据的有效工具 图神经网络&#xff08;Graph Neural Network, GNN&#xff09;是近年来机器学习领域的热门话题。GNN 以图结构数据为核心&#xff0c;能够高效地捕捉节点和边的复杂关系&#xff0c;广泛应用于社交网络、推荐系统、生…...

一、在cubemx下RTC配置调试实例测试

一、rtc的时钟有lse提供。 二、选择rtc唤醒与闹钟功能 内部参数介绍 闹钟配置 在配置时间时&#xff0c;注意将时间信息存储起来&#xff0c;防止复位后时间重新配置。 if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0)! 0x55AA)//判断标志位是否配置过&#xff0c;没有则进…...

【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin

【Nas】X-DOC&#xff1a;Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像&#xff1a;2、启动镜像3、访问服务4、参考文档 Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像&#xff1a; docker pull nyanmisaka/jellyfin:230901-amd64jellyfin 10.8.10版本&#xff…...

合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能

文章目录 写在前面图像内容安全图像篡改应用场景伪造文档/证照检测伪造人脸检测 GAI时代系统构建加速通用文档解析 合合信息 写在前面 随着人工智能技术的飞速发展&#xff0c;生成式AI已经悄然步入了我们的日常生活&#xff0c;以其强大的内容生成能力&#xff0c;重塑了信息…...

京东双十一高并发场景下的分布式锁性能优化

背景 在电商领域&#xff0c;尤其是像京东双十一这样的大促活动&#xff0c;系统需要处理极高的并发请求。这些请求往往涉及库存的查询和更新&#xff0c;如果处理不当&#xff0c;很容易出现库存超卖、数据不一致等问题。分布式锁作为一种有效的解决方案&#xff0c;能够在多…...

华为ICT题库-AI 人工智能部分

1178、以下哪个选项是华为的云端AI芯片&#xff1f;&#xff08;云服务考点&#xff09; (A)Inferentia (B)MLU100 (C)Cloud TPU (D)Ascend 910 答案&#xff1a;D 解析&#xff1a;华为的云端AI芯片被称为Ascend芯片系列&#xff0c;其中Ascend 910是其旗舰产品。Ascend 910…...

React Native 修改安卓应用图片和名称

在React Native&#xff08;RN&#xff09;项目中&#xff0c;修改安卓应用图标和名称通常涉及对Android原生代码的一些修改。以下是详细步骤&#xff1a; 修改应用图标 准备图标资源&#xff1a; 创建或获取你想要的图标&#xff0c;并确保它们符合Android的图标规范&#xf…...

普推知产:商标初审已下,商标申请通过如何高些!

近期下来一批商标注册的初步审公告通知书&#xff0c;一些客户对商标下证要求比较高的&#xff0c;普推知产商标老杨发现&#xff0c;要像下证高核心还是在于名称&#xff0c;名称起好备用的多&#xff0c;让商标专业人士经检索后层层过滤后提报&#xff0c;通过会好很多。 普推…...

HICP--2

在area 0的路由器只生成 area 0 的数据库&#xff0c;只在area 1 的一样。但是既在又在的生成两个 area的 LSDB 一、区域间三类LSA 在OSPF&#xff08;Open Shortest Path First&#xff09;协议中&#xff0c;区域间三类LSA&#xff08;Link-State Advertisement&#xff09…...

sheng的学习笔记-AI基础-正确率/召回率/F1指标/ROC曲线

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 分类准确度问题 假设有一个癌症预测系统&#xff0c;输入体检信息&#xff0c;可以判断是否有癌症。如果癌症产生的概率只有0.1%&#xff0c;那么系统预测所有人都是健康&#xff0c;即可达到99.9%的准确率。 但显然这样的…...

Linux -- 共享内存(2)

目录 命令 ipcs -m &#xff1a; 命令 ipcrm -m shmid&#xff1a; 共享内存的通信&#xff1a; 为什么共享内存更高效&#xff1f; 代码&#xff1a; ShmClient.cc&#xff1a; ShmServer.cc&#xff1a; 结果&#xff1a; 如何让共享内存实现同步&#xff1f; 代码&a…...

云函数实现发送邮件,以qq邮箱为例

云函数实现发送邮件,前端传参调用发送邮件即可。以qq邮箱为例。 1、开启qq邮箱的smtp服务并且生成授权码&#xff0c;操作界面如下图&#xff1a; 2、在腾讯云新建一个云函数代码如下&#xff1a; const nodemailer require("nodemailer");// 云函数入口函数 export…...

Kafka如何控制消费的位置?

大家好&#xff0c;我是锋哥。今天分享关于【Kafka如何控制消费的位置?】面试题&#xff1f;希望对大家有帮助&#xff1b; Kafka如何控制消费的位置? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Kafka 中&#xff0c;控制消费位置主要通过以下几个机制来实…...

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"&…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...