✨✨✨✨✨✨
- 🎀前言
- 🎁基于内置镜像构建
- 🎁把镜像添加基础容器中
- 🎁检查容器是否配置成功
- 🎁不生效的原因排查
- 🎁按步骤执行如下命令
🎀前言
- 由于我本地的开发环境node是16.18.1,而自带容器node的版本是9.11.2
- 内置支持容器
🎁基于内置镜像构建
- 基于原有镜像构建,需要用原有镜像的环境
FROM kubesphere/builder-nodejs:v3.2.0
RUN npm cache clean -f
RUN npm install -g n
RUN n 16.18.1
- 添加dockerfile
#然后把刚才的脚本复制进去
vim Dockerfile
- 打包镜像
# -t为指定构建镜像的名字和版本,格式为'image_name:tag',-f为指定其他目录下的DockerFIle文件。
#我们看到最后还有一个 . 是为了让 Docker 到当前本地目录去寻找 Dockerfile 文件。
docker build -t <image_name>:<tag> .
- 登入私有仓库
# 登入私有仓库
docker login registry.<region>.aliyuncs.com -u <DOCKER_USER_VAR> -p <DOCKER_PASSWORd_VAR>
- 打标签
# 使用命令 docker tag 对镜像添加新的标签,
# 格式为 <registry>/<repository>:<tag>。其中 <registry> 是阿里云容器服务提供的镜像仓库地址,
# <repository> 是自定义的存储库名称,<tag> 则是版本标签
docker tag <image_name>:<tag> registry.<region>.aliyuncs.com/<namespace>/<repository>:<tag>
- 推送到阿里云私有仓库
# 推送镜像
docker push registry.<region>.aliyuncs.com/<namespace>/<repository>:<tag>
- 其他命令
#清除游离镜像
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
- 按照查看配置文件是否生效,
自己改动的配置
是否已经在里面了,如果已经存在里面还是未生效兼容重启容器