首页 文章

在Jenkins服务器上设置Docker

提问于
浏览
0

我正在努力将我们的自由式Jenkins项目升级到管道 . 我还想使用Docker打包我们的应用程序 . 我已经安装了cloudbees Docker构建和发布插件 . 我也在Jenkins服务器上安装了Docker . 将Jenkins用户添加到docker组 . 当我登录到Jenkins服务器并转到工作区时,我可以运行docker命令而没有任何错误,并且构建了映像但是在Jenkinsfile中我收到以下错误 .

[eline_jenkins-pipeline-test-
    PBD3XJTE26LKZXM5M45IPRS3DXQANE4R2Q6GCDSZAPOHBNXKQDQQ] Running shell 
    script
    + docker build -t test-image .
    Got permission denied while trying to connect to the Docker daemon 
    socket at unix:///var/run/docker.sock: Post 
    http://%2Fvar%2Frun%2Fdocker.sock/v1.32/build?
    dial unix /var/run/docker.sock: connect: permission denied

我的Jenkins文件如下:

stage('Build Docker Container') {
        steps {
                script{
                       def app = docker.build "my-app:0.2"
                }                   
        }
    }

在过去,我曾与Jenkins和码头工作过,但当时我使用Jenkins作为容器,在这种情况下,不可能转移到容器化的Jenkins . 任何帮助将受到高度赞赏 .

1 回答

  • 0

    我设法通过将/var/run/dock.sock文件的权限更改为666来解决此问题 . 它的默认权限是660,我不明白为什么Docker组中的Jenkins用户无法访问此文件在执行管道作业时,它可以直接在命令行上执行 . 这是一种解决方法,它对我有用 . 我希望这也能帮助别人 .

相关问题