Почему моя сборка докера не удалась на агенте Дженкинса? - PullRequest
0 голосов
/ 16 октября 2018

Вот мой Jenkinsfile конвейер в проекте

pipeline {
    agent {
        docker {
            image 'docker:dind'
            args '-u root:root -p 3000:3000 --privileged'
        }
    }

    environment {
        CI = 'true'
    }

    stages {
        stage('docker build') {
            when {
                branch 'master'
            }
            steps {
                sh 'docker build --label v1.0.0 -t myrepo/myapp:v1.0.0'
            }
        }
    }
}

И у меня есть мастер и подчиненный агент Дженкинса соответственно.Вышеупомянутый конвейер хорошо работает в главном узле, но если он запускается в подчиненном узле агента, он встретит следующую ошибку:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Я почти уверен, что на узле агента работает докер, потому что я могуssh и успешно запускайте команды docker.

Почему он работает по-разному при работе на главном и подчиненном агентах?Как мне это исправить?Большое спасибо!

1 Ответ

0 голосов
/ 16 октября 2018

Не знаю почему, но я исправил это со следующим изменением: добавлено -v /var/run/docker.sock:/var/run/docker.sock к аргументам.

pipeline {
    agent {
        docker {
            image 'docker:dind'
            args '-u root:root -p 3000:3000 --privileged -v /var/run/docker.sock:/var/run/docker.sock'
        }
    }

    environment {
        CI = 'true'
    }

    stages {
        stage('docker build') {
            when {
                branch 'master'
            }
            steps {
                sh 'docker build --label v1.0.0 -t myrepo/myapp:v1.0.0'
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...