Jenkinsfile管道:从另一个访问一个Docker容器

时间:2019-10-10 15:00:20

标签: docker jenkins jenkins-pipeline

我有一个Jenkinsfile,在其中声明了两个阶段:
第1阶段-我服务从nginx docker image创建的Web服务器
第2阶段-运行由node映像创建的另一个Docker容器,并尝试连接到 container#1
当我运行此管道时,我不断收到此错误 (7) Failed to connect to 127.0.0.1 port 80: Connection refused 总体来说,我是jenkins-pipelinedockerdevOps的新手,但看起来容器似乎在不同的网络或环境中运行。

我的Jenkins文件:

pipeline {
    agent any
    stages {
        stage('Serve') {
            agent {
                docker { 
                    image "nginx" 
                    args "--name nginx-server -v ${WORKSPACE}/src:/usr/share/nginx/html:ro -d -p 8080:80"
                    reuseNode true
                } 
            }
            steps {
                sh 'apt-get update' 
                sh 'apt-get install -y --no-install-recommends curl'
                sh 'rm -rf /var/lib/apt/lists/*'
            }
        }
        stage('Connect to server') {
            agent { docker { image 'node' } }
            steps {
                sh 'curl http://localhost:8080'
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

请指定操作系统类型

附加完整日志

If you OS is windows 10 then you need to update docker setting also.
step 1 : goto docker setting
step : 2 select General -- > Checked Expose daemon on tcp://localhost:2375 without TLS