docker搭建CI/CD环境配置过程中的常见问题
一、Jenkins
1、pull镜像问题
docker pull jenkins/jenkins:lts
Using default tag: latest
Trying to pull repository docker.io/library/centos ...
Get https://registry-1.docker.io/v2/library/centos/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fcentos%3Apull&service=registry.docker.io: net/http: TLS handshake timeout
解决办法:添加dns或修改国内源,根本原因是网络访问不到
2、镜像启动报错:(镜像没有启动对应端口,状态Exited (1)已退出)
[root@iv-yd0kl60qgwwuxjsckauv docker]# docker logs jenkins
INSTALL WARNING: User: missing rw permissions on JENKINS_HOME: /var/jenkins_home
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
解决方案
要解决这个问题,你需要调整宿主机上/data/jenkins_home/目录的权限,使得容器内的用户(UID为1000)有权读写该目录。可以通过以下命令来实现:
sudo chown -R 1000:1000 /data/jenkins_home/
这个命令会将/data/jenkins_home/目录及其子目录的所有者和群组都更改为UID和GID为1000的用户和组。这样做是基于jenkins/jenkins:lts镜像中,jenkins服务运行在一个UID为1000的用户上的事实。
完成这个权限调整后,你可以重新启动jenkins容器来应用更改:
删除当前的jenkins容器(如果它没有在运行,这一步仍然是必要的,以确保重新启动时可以应用新的权限设置):
docker rm jenkins -f
重新创建并启动jenkins容器:
docker run -d -p 8080:8080 --name jenkins -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
这样应该能解决权限问题,让jenkins容器能够正常启动并运行。如果在此过程中遇到其他问题,可以通过docker logs jenkins来检查jenkins容器的日志,以获取更多信息。
3、网络访问地址后报错:
该网页无法正常运作14.xx.xx.2 目前无法处理此请求。
HTTP ERROR 502
重启docker
systemctl restart docker
重新删除jenkins容器后再次启动,在此之前需要在云服务页面的安全组放开对应端口
4、安装插件报错:

原因:安装的jenkins版本不是最新的,下载插件时有问题
解决方案:
docker stop jenkins
docker rm jenkins -f
docker rmi jenkins
docker pull jenkins/jenkins:latest
#拉取最新版本的jenkins镜像,重新启动容器即可
docker run -di --name jenkins -p 8080:8080 -v /data/jenkins_home/:/var/jenkins_home jenkins/jenkins:latest
jenkins页面操作:配置ssh账户信息、配置ssh
二、Gitlab
1、安装gitlab:
docker run --detach \--hostname 14.103.xx.xx \--publish 8443:443 --publish 8081:80 --publish 2222:22 \--name gitlab \--restart always \--volume $PWD/config:/etc/gitlab \--volume $PWD/logs:/var/log/gitlab \--volume $PWD/data:/var/opt/gitlab \gitlab/gitlab-ce:latest
说明:–detach就是常用的-d参数,作用是让docker容器在后台运行
gitlab安装之后默认会有一个root密码,需要登陆进去修改密码,首次登陆24小时后失效。
#在文件中查询root密码:
/etc/gitlab/initial_root_password
相关文章:
docker搭建CI/CD环境配置过程中的常见问题
一、Jenkins 1、pull镜像问题 docker pull jenkins/jenkins:lts Using default tag: latest Trying to pull repository docker.io/library/centos ... Get https://registry-1.docker.io/v2/library/centos/manifests/latest: Get https://auth.docker.io/token?scoperepo…...
实验四 微信小程序智能手机互联网程序设计(微信程序方向)实验报告
请编写一个用户登录界面,提示输入用户名和密码进行登录; 代码 index.wxml <view class"user"> <form bindreset""> <view>用户名:</view><input type"text"name""/>…...
WPF —— 关键帧动画
wpf动画类型 1<类型>Animation这些动画称为from/to/by动画或者叫基本动画,他们会在起始值或者结束值进行动画处理,常用的例如 <DoubleAnimation> 2 <类型>AnimationUsingKeyFrames: 关键帧动画,功能要比from/to这些动画功…...
Taro + vue3 小程序封装标题组件
分为没有跳转页面的title组件和 有跳转页面的title组件 我们可以把这个封装成一个组件 直接上代码 <template><div class"fixed-title-container"><div class"box"><div class"icon" v-if"isShow" click"…...
babyAGI(6)-babyCoder源码阅读2任务描述部分
废话不多说,我们直接看task的prompt 这里需要注意的是,每个openai_call的temperature都不相同,这也是开发程序时需要调整和关注的一点 1. 初始化代码任务agent 作为babycoder的第一个angent,整个prompt编写的十分值得学习 整个p…...
生成式语言模型预训练阶段验证方式与微调阶段验证方式
生成式语言模型,如GPT-3、BERT等,在预训练和微调阶段都需要进行验证以确保模型性能。下面分别介绍这两个阶段的验证方式: 预训练阶段的验证: 预训练阶段通常使用大量未标注的文本数据来训练模型,以学习语言的一般特性。…...
flink on yarn
前言 Apache Flink,作为大数据处理领域的璀璨明星,以其独特的流处理和批处理一体化模型,成为众多企业和开发者的首选。它不仅能够在处理无界数据流时展现出卓越的实时性能,还能在有界数据批处理上达到高效稳定的效果。本文将简要…...
用TOMCAT部署web项目教程
文章目录 引言I 使用webapps文件夹II 利用server.xmlIII 自定义配置文件IV 预备知识4.1项目的一般结构4.2 contex标签4.3 IDE部署4.4 配置Tomcat服务引言 在开发阶段,一般使用IDE如MyEclipse来部署web项目,不要忘记手动部署的三种方式。 I 使用webapps文件夹 将项目文件夹…...
bash例子-source进程替换、alias不生效处理
#1. source 例子, 进程替换source <(echo alias zls"ls") #上一行 中 echo替换为cat,则得到如下行, 好处是 cat不用处理引号转义问题,而echo则必须处理引号转义问题#写一段复杂脚本,且 不处理引号转义问题 &#x…...
rabbitmq死信交换机,死信队列使用
背景 对于核心业务需要保证消息必须正常消费,就必须考虑消费失败的场景,rabbitmq提供了以下三种消费失败处理机制 直接reject,丢弃消息(默认)返回nack,消息重新入队列将失败消息投递到指定的交换机 对于核…...
gitlab备份与恢复
1.1.1 查看系统版本和软件版本 cat /etc/debian_version cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 1.1.2 数据备份 打开/etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项 sudo vim /etc/gitlab/gitlab.rb gitlab_rails[backup_path] &q…...
HBase详解(1)
HBase 简介 概述 HBase是Yahoo!公司开发的后来贡献给了Apache的一套开源的、分布式的、可扩展的、基于Hadoop的非关系型数据库(Non-Relational Database),因此HBase并不支持SQL(几乎所有的非关系型数据库都不支持SQL),而是提供了一套单独的命令和API操…...
深入理解数据结构第二弹——二叉树(2)——堆排序及其时间复杂度
看这篇前请先把我上一篇了解一下:深入理解数据结构第一弹——二叉树(1)——堆-CSDN博客 前言: 相信很多学习数据结构的人,都会遇到一种情况,就是明明最一开始学习就学习了时间复杂度,但是在后期…...
视频汇聚/安防监控/EasyCVR平台播放器EasyPlayer更新:新增【性能面板】
视频汇聚/安防监控/视频存储平台EasyCVR基于云边端架构,可以在复杂的网络环境中快速、灵活部署,平台视频能力丰富,可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云…...
【教程】Flutter 应用混淆
在移动应用开发中,保护应用代码安全至关重要。Flutter 提供了简单易用的混淆工具,帮助开发者在构建 release 版本应用时有效保护代码。本文将介绍如何在 Flutter 应用中使用混淆,并提供了相关的操作步骤和注意事项。 📝 摘要 本…...
STM32中C编程引入C++程序
C具备类的创建思想很实用于实际场景多相似性的框架搭建;同种类型或相似类型的C的优势明显因此进行相互嵌套使用 需要在C中使用C类的话,你可以通过C的“extern "C"”语法来实现。这允许你在C代码中使用C的链接方式,而在C代码中使用…...
MySQL DBA 需要了解一下 InnoDB Online DDL 算法更新
在 MySQL 8.0.12 中,我们引入了一种新的 DDL 算法,该算法在更改表的定义时不会阻塞表。第一个即时操作是在表格末尾添加一列,这是来自腾讯游戏的贡献。 然后在 MySQL 8.0.29 中,我们添加了在表中任意位置添加(或删除&…...
多态--下
文章目录 概念多态如何实现的指向谁调谁?例子分析 含有虚函数类的大小是多少?虚函数地址虚表地址多继承的子类的大小怎么计算?练习题虚函数和虚继承 概念 优先使用组合、而不是继承; 继承会破坏父类的封装、因为子类也可以调用到父类的函数;…...
备考ICA----Istio实验16---HTTP流量授权
备考ICA----Istio实验16—HTTP流量授权 1. 环境准备 kubectl apply -f istio/samples/bookinfo/platform/kube/bookinfo.yaml kubectl apply -f istio/samples/bookinfo/networking/bookinfo-gateway.yaml访问测试 curl -I http://192.168.126.220/productpage2. 开启mtls …...
STM32-02基于HAL库(CubeMX+MDK+Proteus)GPIO输出案例(LED流水灯)
文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式,生成代码四、MDK打开生成项目,编写HAL库的GPIO输出代码五、运行仿真程序,调试代码 一、功能需求分析 在完成开发环境搭建之后,开始使用STM32GP…...
OpenFast联合仿真模型中独立变桨与统一变桨控制的对比
openfast与simlink联合仿真模型,风电机组独立变桨控制与统一变桨控制。 独立变桨控制。 OpenFast联合仿真。OpenFast和Simulink的联合仿真在风电领域属于基操了,尤其做变桨控制研究的老铁应该都接触过。咱们今天重点拆解独立变桨(IPC…...
为 GraphRAG 准备语料库
经典 RAG 专注于找到正确的段落,而 GraphRAG 帮助你看到段落、实体和主题在整个文档集合中是如何连接的。原始 GraphRAG 论文指出,标准 RAG 常常在处理宽泛问题时遇到困难,比如"这个数据集中的主要主题是什么?"为了解决…...
别再自己造轮子了!Spring Boot项目集成sensitive-word库实现敏感词过滤(附完整配置流程)
Spring Boot项目快速集成敏感词过滤实战指南 在内容审核日益重要的今天,为应用添加敏感词过滤功能已成为刚需。本文将带你绕过底层算法实现的复杂环节,直接采用成熟的sensitive-word库,在Spring Boot项目中快速搭建高性能的敏感词过滤系统。 …...
如何用Graphiti构建3种智能应用的终极指南
如何用Graphiti构建3种智能应用的终极指南 【免费下载链接】graphiti 用于构建和查询时序感知知识图谱的框架,专为在动态环境中运行的 AI 代理量身定制。 项目地址: https://gitcode.com/GitHub_Trending/grap/graphiti Graphiti是一个专为AI代理设计的时序感…...
0基础java,面向对象
万物皆对象,要想创建一个对象,就必须要有一个类,一个类可以new很多很多的对象类的组成在一个类中,由属性和方法组成。同时和类相关的还有变量,权限修饰符和如何创建对象对象的创建对象的可以new一个出来,也就是创建。当然部分API不用写new也可以创建对象比如,在JDK8…...
# io多路复用之select详解
一、前备知识 1、io多路复用:在一个线程中实现服务器与多个客户端之间的链接与信息的收发 2、select系统调用:select函数属于系统调用,每次调用都会把fd_set在用户态和内核态之间来回copy,所以select效率不如epoll 3、select使用&…...
智能告警管理平台如何帮助运维团队减少75%告警噪音:Keep AIOps平台实践指南
智能告警管理平台如何帮助运维团队减少75%告警噪音:Keep AIOps平台实践指南 【免费下载链接】keep The open-source alerts management and automation platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 在现代IT环境中,运维团队…...
从散乱点到完美圆:Python实战最小二乘法圆拟合,处理2D/3D数据一键搞定
从散乱点到完美圆:Python实战最小二乘法圆拟合,处理2D/3D数据一键搞定 在计算机视觉、工业检测和科学计算领域,圆拟合是一项基础但至关重要的技术。想象一下这样的场景:你需要从激光雷达扫描的点云中识别机械零件的圆形轮廓&#…...
LiuJuan20260223Zimage助力Dify平台:快速构建企业级AI应用
LiuJuan20260223Zimage助力Dify平台:快速构建企业级AI应用 最近在帮几个朋友的公司搭建内部AI工具时,发现一个挺有意思的现象。很多团队都意识到了AI的潜力,也想用上像LiuJuan20260223Zimage这样强大的图像理解模型,但一提到“部…...
Pixel 3XL刷机全攻略:从AOSP源码编译到真机烧录(避坑指南)
Pixel 3XL深度定制指南:从源码编译到系统优化的完整实践 在Android开发者的世界里,能够完全掌控自己的设备系统是许多技术爱好者的终极追求。Pixel系列手机作为Google的"亲儿子",提供了最接近原生Android的体验和最为开放的开发环…...
