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

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

实验四 微信小程序智能手机互联网程序设计(微信程序方向)实验报告

请编写一个用户登录界面&#xff0c;提示输入用户名和密码进行登录&#xff1b; 代码 index.wxml <view class"user"> <form bindreset""> <view>用户名&#xff1a;</view><input type"text"name""/>…...

WPF —— 关键帧动画

wpf动画类型 1<类型>Animation这些动画称为from/to/by动画或者叫基本动画&#xff0c;他们会在起始值或者结束值进行动画处理&#xff0c;常用的例如 <DoubleAnimation> 2 <类型>AnimationUsingKeyFrames: 关键帧动画&#xff0c;功能要比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任务描述部分

废话不多说&#xff0c;我们直接看task的prompt 这里需要注意的是&#xff0c;每个openai_call的temperature都不相同&#xff0c;这也是开发程序时需要调整和关注的一点 1. 初始化代码任务agent 作为babycoder的第一个angent&#xff0c;整个prompt编写的十分值得学习 整个p…...

生成式语言模型预训练阶段验证方式与微调阶段验证方式

生成式语言模型&#xff0c;如GPT-3、BERT等&#xff0c;在预训练和微调阶段都需要进行验证以确保模型性能。下面分别介绍这两个阶段的验证方式&#xff1a; 预训练阶段的验证&#xff1a; 预训练阶段通常使用大量未标注的文本数据来训练模型&#xff0c;以学习语言的一般特性。…...

flink on yarn

前言 Apache Flink&#xff0c;作为大数据处理领域的璀璨明星&#xff0c;以其独特的流处理和批处理一体化模型&#xff0c;成为众多企业和开发者的首选。它不仅能够在处理无界数据流时展现出卓越的实时性能&#xff0c;还能在有界数据批处理上达到高效稳定的效果。本文将简要…...

用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 例子&#xff0c; 进程替换source <(echo alias zls"ls") #上一行 中 echo替换为cat&#xff0c;则得到如下行, 好处是 cat不用处理引号转义问题&#xff0c;而echo则必须处理引号转义问题#写一段复杂脚本&#xff0c;且 不处理引号转义问题 &#x…...

rabbitmq死信交换机,死信队列使用

背景 对于核心业务需要保证消息必须正常消费&#xff0c;就必须考虑消费失败的场景&#xff0c;rabbitmq提供了以下三种消费失败处理机制 直接reject&#xff0c;丢弃消息&#xff08;默认&#xff09;返回nack&#xff0c;消息重新入队列将失败消息投递到指定的交换机 对于核…...

gitlab备份与恢复

1.1.1 查看系统版本和软件版本 cat /etc/debian_version cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 1.1.2 数据备份 打开/etc/gitlab/gitlab.rb配置文件&#xff0c;查看一个和备份相关的配置项 sudo vim /etc/gitlab/gitlab.rb gitlab_rails[backup_path] &q…...

HBase详解(1)

HBase 简介 概述 HBase是Yahoo!公司开发的后来贡献给了Apache的一套开源的、分布式的、可扩展的、基于Hadoop的非关系型数据库(Non-Relational Database)&#xff0c;因此HBase并不支持SQL(几乎所有的非关系型数据库都不支持SQL)&#xff0c;而是提供了一套单独的命令和API操…...

深入理解数据结构第二弹——二叉树(2)——堆排序及其时间复杂度

看这篇前请先把我上一篇了解一下&#xff1a;深入理解数据结构第一弹——二叉树&#xff08;1&#xff09;——堆-CSDN博客 前言&#xff1a; 相信很多学习数据结构的人&#xff0c;都会遇到一种情况&#xff0c;就是明明最一开始学习就学习了时间复杂度&#xff0c;但是在后期…...

视频汇聚/安防监控/EasyCVR平台播放器EasyPlayer更新:新增【性能面板】

视频汇聚/安防监控/视频存储平台EasyCVR基于云边端架构&#xff0c;可以在复杂的网络环境中快速、灵活部署&#xff0c;平台视频能力丰富&#xff0c;可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云…...

【教程】Flutter 应用混淆

在移动应用开发中&#xff0c;保护应用代码安全至关重要。Flutter 提供了简单易用的混淆工具&#xff0c;帮助开发者在构建 release 版本应用时有效保护代码。本文将介绍如何在 Flutter 应用中使用混淆&#xff0c;并提供了相关的操作步骤和注意事项。 &#x1f4dd; 摘要 本…...

STM32中C编程引入C++程序

C具备类的创建思想很实用于实际场景多相似性的框架搭建&#xff1b;同种类型或相似类型的C的优势明显因此进行相互嵌套使用 需要在C中使用C类的话&#xff0c;你可以通过C的“extern "C"”语法来实现。这允许你在C代码中使用C的链接方式&#xff0c;而在C代码中使用…...

MySQL DBA 需要了解一下 InnoDB Online DDL 算法更新

在 MySQL 8.0.12 中&#xff0c;我们引入了一种新的 DDL 算法&#xff0c;该算法在更改表的定义时不会阻塞表。第一个即时操作是在表格末尾添加一列&#xff0c;这是来自腾讯游戏的贡献。 然后在 MySQL 8.0.29 中&#xff0c;我们添加了在表中任意位置添加&#xff08;或删除&…...

多态--下

文章目录 概念多态如何实现的指向谁调谁&#xff1f;例子分析 含有虚函数类的大小是多少&#xff1f;虚函数地址虚表地址多继承的子类的大小怎么计算&#xff1f;练习题虚函数和虚继承 概念 优先使用组合、而不是继承; 继承会破坏父类的封装、因为子类也可以调用到父类的函数;…...

备考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 配置引脚及模式&#xff0c;生成代码四、MDK打开生成项目&#xff0c;编写HAL库的GPIO输出代码五、运行仿真程序&#xff0c;调试代码 一、功能需求分析 在完成开发环境搭建之后&#xff0c;开始使用STM32GP…...

突破限制:跨设备使用三星笔记的开源技术方案

突破限制&#xff1a;跨设备使用三星笔记的开源技术方案 【免费下载链接】galaxybook_mask This script will allow you to mimic your windows pc as a Galaxy Book laptop, this is usually used to bypass Samsung Notes 项目地址: https://gitcode.com/gh_mirrors/ga/gal…...

力扣链表高频题:两两交换节点 + K个一组翻转链表(保姆级思路+满分代码)

链表翻转、节点交换是力扣的高频必考题型&#xff0c;也是面试手撕链表的常客。今天一次性攻克两道经典题&#xff1a;24. 两两交换链表中的节点和25. K 个一组翻转链表&#xff0c;从思路拆解到代码实现&#xff0c;一步步讲透&#xff0c;新手也能轻松拿捏。 这两道题一脉相承…...

MOS管技术详解:从基础到工程应用

MOS管技术详解&#xff1a;从基础原理到工程应用1. MOS管基础概念与分类1.1 场效应管基本类型场效应管(FET)主要分为两大类型&#xff1a;结型场效应管(JFET)&#xff1a;Junction Field-Effect Transistor金属氧化物半导体场效应管(MOSFET)&#xff1a;Metal-Oxide-Semiconduc…...

实战指南:如何用Mask R-CNN在iSAID数据集上提升航空影像分割效果(附调参技巧)

航空影像实例分割实战&#xff1a;Mask R-CNN在iSAID数据集上的调优策略 航空影像分析正逐渐成为城市规划、灾害监测和国防安全等领域的关键技术。与常规自然图像不同&#xff0c;这类影像通常包含大量密集分布的小目标&#xff0c;且目标尺度变化极大——从几个像素的小型车辆…...

扶梯安全开关硬件抽象库:轻量级嵌入式状态识别方案

1. 项目概述EscalatorSwitch 是一个面向自动扶梯安全控制场景的轻量级嵌入式硬件抽象库&#xff0c;其核心定位并非通用IO驱动&#xff0c;而是针对电梯/扶梯行业特有的“扶梯运行状态切换开关”&#xff08;Escalator Switch&#xff09;这一专用机电装置提供标准化、可复用的…...

嵌入式硬件工程师如何转型管理者

嵌入式硬件工程师的职业发展路径&#xff1a;从技术专家到管理者的转型指南1. 职业发展概述1.1 技术与管理双轨发展在嵌入式硬件工程领域&#xff0c;职业发展通常呈现两条路径&#xff1a;技术专家路线和管理路线。对于希望转向管理岗位的工程师&#xff0c;需要理解技术能力与…...

【数据结构与算法】第5篇:线性表(一):顺序表(ArrayList)的实现与应用

一、什么是顺序表顺序表是最简单的一种线性结构。用一段地址连续的存储单元依次存储数据元素。你可以把它理解为一个可以自动扩容的数组。C语言的原生数组长度是固定的&#xff0c;不够用的时候只能重新申请更大的数组&#xff0c;把数据搬过去。顺序表封装了这个过程&#xff…...

告别手动组帧!用libmodbus库5分钟搞定Modbus RTU设备数据读取(C语言实战)

5分钟极速上手&#xff1a;用libmodbus高效读取工业设备数据的C语言实践指南 在工业自动化现场&#xff0c;当我们需要快速对接一台陌生的Modbus RTU设备时&#xff0c;传统的手动组帧方式往往让开发者陷入繁琐的字节操作和CRC校验计算中。我曾亲眼见过一位工程师花费三天时间调…...

ArcGIS JS API调用天地图WMTS服务实战:从GetCapabilities解析到完整代码实现

ArcGIS JS API调用天地图WMTS服务全流程解析 在WebGIS开发中&#xff0c;将第三方地图服务无缝集成到ArcGIS生态系统中是常见需求。天地图作为国内权威的地理信息服务&#xff0c;其WMTS&#xff08;Web Map Tile Service&#xff09;接口的调用尤为关键。本文将深入剖析从服务…...

从实验室到生产线:LeRobot如何用AI重新定义机器人控制范式?

从实验室到生产线&#xff1a;LeRobot如何用AI重新定义机器人控制范式&#xff1f; 【免费下载链接】lerobot &#x1f917; LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot …...