docker проблем с контейнером при запуске Jenkins CI / CD - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь получить сценарий jenkins для успешной сборки, но появляется следующая ошибка:

+ docker build -t sampledocker:ab77808c16d59600e0046df860e97a5f22576556 -f Dockerfile .
Cannot connect to the Docker daemon at tcp://192.xxx.xxx.xxx:2375. Is the docker daemon running?
[Pipeline] }
[Pipeline] // withDockerRegistry

Это сценарий jenkins:

node
{   
    def scmVars = checkout scm
    def commitHash = scmVars.GIT_COMMIT
    sh "echo githubcommithash is $commitHash"   
    sh "echo $WORKSPACE"

    docker.image('adoptopenjdk/maven-openjdk11:latest').inside('-v $HOME/.m2:/root/.m2') 
    {
    stage('Build')
    {
        sh 'mvn  clean install package -Dmaven.test.skip=true'
        sh 'pwd'
    }
    }

    stage('Deploy')
    {
    withEnv(["DOCKER_HOST=tcp://192.xxx.xxx.xxx:2375"])
    {
        docker.withRegistry('https://jenkins-myrepo.net') 
        {
            def customImage = docker.build("sampledocker:${commitHash}", "-f Dockerfile .")
            customImage.push("latest")

            sh "docker pull jenkins-myrepo.net/sampledocker:latest"
            sh "docker stop sampledocker || true && docker rm sampledocker || true"
            sh "docker run -d --restart=always --name=sampledocker  -p 10020:10020 -v /tmp/caprod:/tmp/caprod jenkins-myrepo.net/sampledocker:latest"                       
        } 
    }
    }

}

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

...