我正在尝试建立一个Jenkins流水线,可以构建Docker镜像。但是在执行流水线后,我遇到了docker: not found
的问题。 Jenkinsfile
的内容如下:
pipeline {
agent { dockerfile true }
stages {
stage('Test') {
steps {
sh 'docker --version '
}
}
}
}
这是一个简单的脚本,用于开始工作。但似乎docker化的Jenkins安装无法找到合适的docker安装程序来使用。
所需插件(Docker
和Docker pipeline
)已安装,并且存在全局docker安装配置。但错误仍在继续。
使用此docker-compose
进行Jenkins设置:
version: '3.1'
networks:
docker:
volumes:
jenkins-data:
jenkins-docker-certs:
services:
jenkins:
image: jenkins/jenkins:lts
restart: always
networks:
- docker
ports:
- 8090:8080
- 50000:50000
tty: true
volumes:
- jenkins-data:/var/jenkins_home
- jenkins-docker-certs:/certs/client:ro
- $HOME:/home
environment:
- DOCKER_HOST=tcp://docker:2376
- DOCKER_CERT_PATH=/certs/client
- DOCKER_TLS_VERIFY=1
dind:
image: docker:dind
privileged: true
restart: always
networks:
docker:
aliases:
- docker
ports:
- 2376:2376
tty: true
volumes:
- jenkins-data:/var/jenkins_home
- jenkins-docker-certs:/certs/client
- $HOME:/home
environment:
- DOCKER_TLS_CERTDIR=/certs
阅读了一些有关此问题的帖子并遵循官方Jenkins文档后,我认为这个目的使用了
docker:dind
。也许我在这里错过了一些重要的配置?在启动docker:dind
容器时,日志会显示以下警告消息:could not change group /var/run/docker.sock to docker: group docker not found
,但该组存在,我能够运行docker命令而无需指定sudo
。(遵循官方docker安装后步骤)。另一个问题是,Jenkins目前无法保留配置数据或流水线相关内容。重新启动计算机后,我必须每次都通过向导进行操作,我不知道为什么。
是否有人遇到过类似的问题?
非常感谢您的帮助!
docker: /lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.32' not found (required by docker)。主机的
GLIBC版本是
ldd (Ubuntu GLIBC 2.33-0ubuntu5) 2.33`,这是怎么回事? - andreas.teich+ docker inspect -f . node:14-alpine docker: /lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.32' not found (required by docker),以及几行下面的
+ docker pull node:14-alpine docker: /lib/x86_64-linux-gnu/libc.so.6: versionGLIBC_2.32' not found (required by docker)
。 - andreas.teich