Skip to content

问题:pipeline中使用docker进行docker build,push命令,会报没有docker命令。

原因:Jenkins本身是运行在容器中的,但是没有安装Docker,所以找不到命令

解决方案:把宿主机的docker和docker.sock映射到运行Jenkins的容器内,通过挂载卷的方式把/usr/bin/docker,/var/run/docker.sock挂载出来。 修改Dockerfile或者docker-compose文件

shell
volumes:
 - /var/run/docker.sock:/var/run/docker.sock
 - /usr/bin/docker:/usr/bin/docker
volumes:
 - /var/run/docker.sock:/var/run/docker.sock
 - /usr/bin/docker:/usr/bin/docker

报错:libltdl.so.7 cannot open shared object

原因:容器内 /usr/lib缺少这个libltdl.so.7 解决方案:安装即可 apt-get install -y libltdl7.*