发布时间: 2023-11-7 文章作者: myluzh 分类名称: Docker 朗读文章
0x00 前言
使用docker部署jenkins后使用流水线docker build提示找不到docker命令,找了好久解决了,需要把docker挂载出来。
第二个问题是docker login 私有仓的时候 提示证书不对,需要在配置文件添加下insecure-registries
0x01 jenkins正确部署命令
docker run --name jenkins \ -u root \ --rm -d \ -p 8092:8080 \ -v /var/jenkins_home:/var/jenkins_home \ -v $(which docker):/usr/bin/docker \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /etc/docker/:/etc/docker \ jenkins/jenkins:lts
启动后在本机/etc/docker/daemon.json上添加insecure-regstries里面写上你jenkins流水线docker push的仓库地址,这样可以避免docker login 私有仓库报错Error response from daemon: Get "https://harbor.itho.cn:5443/v2/": x509: certificate relies on legacy Common Name field, use SANs instead
[root@CentOS7]# vim /etc/docker/daemon.json {"insecure-registries": [ "harbor.itho.cn:5443" ]}
0x02 其他命令
#删除正在运行的jenkins容器 docker rm -f jenkins #进入容器内部 docker exec -u root -it jenkins bash #查看admin密码 cat /var/jenkins_home/secrets/initialAdminPassword
# 1、源码管理->Git->Repository URL Repository URL="https://github.com/myluzh/hellok8s/" # 2、Build Steps->执行shell->命令 VERSION=`git rev-parse --short HEAD` projectName='hellok8s' dockerPushIp='harbor.itho.cn:5443' dockerregister=$dockerPushIp/mytest/$projectName:$VERSION docker login $dockerPushIp --username="admin" --password="qwer1234." echo "开始打包镜像 $dockerregister" docker build -t $dockerregister . echo "开始提交镜像 $dockerregister" docker push $dockerregister
标签: docker devops cicd jenkins
发表评论