我已经在计算机上本地安装了Jenkins。我从github存储库中提取了一些源代码,该存储库的根目录中有一个Docker文件。我想构建和放置docker image并将其推送到docker hub,但是构建失败并显示以下消息...
docker build -f myapp-web:latest . \n
/Users/Shared/Jenkins/Home/workspace/MyApp@tmp/durable-ee9851e9/script.sh: line 1: docker: command not found
pipeline {
agent any
tools {
maven 'maven_3.6.1'
jdk 'jdk8'
}
stages {
stage('Build') {
steps {
withMaven(maven: 'maven_3.6.1', mavenSettingsConfig: '5d7a8237-6d6a-4189-a907-518900dc7755') {
sh "mvn clean install "
}
}
}
stage('Build Image') {
steps {
script {
sh 'docker build -f myapp-web:latest .'
}
}
}
stage('Deploy Image') {
steps {
withDockerRegistry([credentialsId: "docker-hub", url: ""]) {
sh 'docker push myapp-web:latest'
}
}
}
}
}
Docker已在我的本地计算机上安装并运行,并且使用以下插件配置了Jenkins Docker管道 Docker插件
任何想法都值得赞赏
答案 0 :(得分:1)
如果通过管道获得docker: command not found
,尽管它已经安装在运行管道的同一节点上,则需要确保管道读取的是正确的$PATH
环境,其中docker二进制文件应该存在。
您提到的第二个问题
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
您需要将管道中正在使用的用户添加到docker组,以便它可以使用以下命令运行docker命令:
usermod -aG docker $USER