kubeSphere DevOps自定义容器 指定nodejs版本

news/2025/2/12 23:22:48/

文章目录

  • 前言
    • 基于内置镜像构建
    • 把镜像添加基础容器中
    • 检查容器是否配置成功
    • 不生效的原因排查
    • 按步骤执行如下命令

前言

  • 由于我本地的开发环境node是16.18.1,而自带容器node的版本是9.11.2
    • 内置支持容器

在这里插入图片描述

基于内置镜像构建

  1. 基于原有镜像构建,需要用原有镜像的环境
FROM kubesphere/builder-nodejs:v3.2.0
RUN npm cache clean -f
RUN npm install -g n
RUN n 16.18.1
  1. 添加dockerfile
#然后把刚才的脚本复制进去
vim Dockerfile
  1. 打包镜像
# -t为指定构建镜像的名字和版本,格式为'name:tag',-f为指定其他目录下的DockerFIle文件。
#我们看到最后还有一个 . 是为了让 Docker 到当前本地目录去寻找 Dockerfile 文件。
docker build -t [自定义镜像名]:latest -f Dockerfile .
  1. 推送到私有仓库, 因为我这里用的阿里云镜像仓库
docker login --username=自己的用户名 registry.cn-hangzhou.aliyuncs.com
docker images
#ImageId为上一个命令查出来的,你要上传到私服的镜像的id;[自定义镜像名]:只能是一个名字,不能含目录,例如jenkins/jenkinsfile,会导致传不上去
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/[自己定义的仓库的命名空间]/[自定义镜像名]:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/[自己定义仓库的命名空间]/[自定义镜像名]:[镜像版本号
#清除游离镜像
docker image prune
#清理未使用过的镜像和悬空镜像
docker system prune -a
#清除未使用的数据卷,末尾加上-f不用输入yes
docker volume prune

把镜像添加基础容器中


  • 搜索jenkins-casc-config 图片里的打错了,懒得改了复制这个即可
    在这里插入图片描述
  • 在弹出的对话框中,搜寻至 data.jenkins_user.yaml:jenkins.clouds.kubernetes.templates
    • 请注意空格和格式仔细检查
    • 下方并输入以下代码,点击确定。以下代码建议不用修改
- name: "nodejs-nodejs16" # 自定义 Jenkins Agent 的名称。label: "nodejs nodejs16" # 自定义 Jenkins Agent 的标签。若要指定多个标签,请用空格来分隔标签。inheritFrom: "nodejs" # 该自定义 Jenkins Agent 所继承的现有容器组模板的名称。containers:- name: "nodejs" # 该自定义 Jenkins Agent 所继承的现有容器组模板中指定的容器名称。image: "这个就是刚才阿里云镜像仓库的地址" # 我这个是私有仓库,建议自行构建镜像

在这里插入图片描述

检查容器是否配置成功


出现配置可选即为成功,懒得再去截图了,这里用JDK11的,逻辑是一样的
在这里插入图片描述

不生效的原因排查


  • 找到ks-jenkins服务
    在这里插入图片描述

按步骤执行如下命令


注:有些版本是没有jenkins_user.yaml

cd /var/jenkins_home/casc_configs
cat jenkins.yaml
cat jenkins_user.yaml
  • 按照查看配置文件是否生效,自己改动的配置是否已经在里面了,如果已经存在里面还是未生效兼容重启容器在这里插入图片描述

http://www.ppmy.cn/news/1332627.html

相关文章

opencv012 滤波器04 中值滤波,双边滤波

中值滤波 取中位数,可以处理椒盐噪音 CV自带medianBlur函数dst cv2.medianBlur(src, ksize) 参数说明:1.src: 需要滤波的图片;2.ksize:核大小,必须是比1大的奇数【举个例子:3,5,7……

vue项目打包部署到服务器并使用cdn加速

配置 vue.config.js文件 const isProd process.env.NODE_ENV production module.exports {// 其他配置chainWebpack: config > {// 生产环境下使用CDNif (isProd) {config.plugin(html).tap(args > {args[0].cdn assetsCDNreturn args})}},// 生产环境下替换路径为c…

【GPU驱动开发】-Mesa ST和GLSL编译器衔接源码分析

前言 不必害怕未知,无需恐惧犯错,做一个Creator! (基于Mesa 22.2.5版本) st_glsl_to_nir.c 主要实现了 GLSL 到 NIR 的转换功能,包括 GLSL 程序的链接、NIR 的最终化、优化以及统一变量的处理。以下是该…

Vue常用特性

1.0 表单相关 1.1 表单基本操作 获取文本框的值(略) 获取单选框中的值 通过v-model <!-- 1、 两个单选框需要同时通过v-model 双向绑定 一个值 2、 每一个单选框必须要有value属性 且value 值不能一样 3、 当某一个单选框选中的时候 v-model 会将当前的 value值 改变 d…

Fink CDC 1.0 至3.0的从古至今

本文主要分享Flink CDC 1.0 至3.0的发展历程,了解其背后的关键特性和发展趋势,探讨其在大数据领域的影响和价值。 一、CDC概述 CDC是一种用以掌控数据变化的软件架构(技术思路),用于捕获和传递数据库中发生的数据变化。当数据库中发生增(INSERT)/删(DELETE)/改(UPD…

【java面试】常见问题(超详细)

目录 一、java常见问题JDK和JRE的区别是什么&#xff1f;Java中的String类是可变的还是不可变的&#xff1f;Java中的equals方法和hashCode方法有什么关系&#xff1f;Java中什么是重载【Overloading】&#xff1f;什么是覆盖【Overriding】&#xff1f;它们有什么区别&#xf…

Spring SpEL在Flink中的应用-与FlatMap结合实现数据动态计算

文章目录 前言一、POM依赖二、主函数代码示例三、RichFlatMapFunction实现总结 前言 SpEL表达式与Flink FlatMapFunction或MapFunction结合可以实现基于表达式的简单动态计算。有关SpEL表达式的使用请参考Spring SpEL在Flink中的应用-SpEL详解。 可以将计算表达式放入数据库&a…

基于卡尔曼滤波的平面轨迹优化

文章目录 概要卡尔曼滤波代码主函数代码CMakeLists.txt概要 在进行目标跟踪时,算法实时测量得到的目标平面位置,是具有误差的,连续观测,所形成的轨迹如下图所示,需要对其进行噪声滤除。这篇博客将使用卡尔曼滤波,对轨迹进行优化。 优化的结果为黄色线。 卡尔曼滤波代码…