当前位置: 首页 > 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"&…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

生成xcframework

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

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...