🎀前言


  • 由于我本地的开发环境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为指定构建镜像的名字和版本,格式为'image_name:tag',-f为指定其他目录下的DockerFIle文件。
#我们看到最后还有一个 . 是为了让 Docker 到当前本地目录去寻找 Dockerfile 文件。
docker build -t <image_name>:<tag> .
  1. 登入私有仓库

# 登入私有仓库
docker login registry.<region>.aliyuncs.com -u <DOCKER_USER_VAR> -p <DOCKER_PASSWORd_VAR>

  1. 打标签

# 使用命令 docker tag 对镜像添加新的标签,
# 格式为 <registry>/<repository>:<tag>。其中 <registry> 是阿里云容器服务提供的镜像仓库地址,
# <repository> 是自定义的存储库名称,<tag> 则是版本标签
docker tag <image_name>:<tag> registry.<region>.aliyuncs.com/<namespace>/<repository>:<tag>
  1. 推送到阿里云私有仓库

# 推送镜像
docker push registry.<region>.aliyuncs.com/<namespace>/<repository>:<tag>
  1. 其他命令

#清除游离镜像
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
  • 按照查看配置文件是否生效,自己改动的配置是否已经在里面了,如果已经存在里面还是未生效兼容重启容器在这里插入图片描述
Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐