FROM kubesphere/builder-nodejs:v3.2.0
RUN npm cache clean -f
RUN npm install -g n
RUN n 16.18.1
#然后把刚才的脚本复制进去
vim Dockerfile
# -t为指定构建镜像的名字和版本,格式为'name:tag',-f为指定其他目录下的DockerFIle文件。
#我们看到最后还有一个 . 是为了让 Docker 到当前本地目录去寻找 Dockerfile 文件。
docker build -t [自定义镜像名]:latest -f Dockerfile .
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的,逻辑是一样的
注:有些版本是没有jenkins_user.yaml
cd /var/jenkins_home/casc_configs
cat jenkins.yaml
cat jenkins_user.yaml
自己改动的配置
是否已经在里面了,如果已经存在里面还是未生效兼容重启容器