Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Jenkins管道内github中的Dockerfile创建docker容器?_Docker_Jenkins_Dockerfile_Jenkins Pipeline - Fatal编程技术网

如何从Jenkins管道内github中的Dockerfile创建docker容器?

如何从Jenkins管道内github中的Dockerfile创建docker容器?,docker,jenkins,dockerfile,jenkins-pipeline,Docker,Jenkins,Dockerfile,Jenkins Pipeline,我在github回购中有一个Dockerfile。 我需要以某种方式设置我的工作区,为此,我想使用Dockerfile 我似乎找不到任何明确的Jenkins文件示例,可以将容器创建为管道的单独阶段 如何做到这一点?鉴于您使用的是管道(jenkinsfile)语法,这就是构建docker映像的方式(最简单的方式): 如果要构建容器,然后对其进行测试,则需要存储对容器的引用,可以使用以下代码执行此操作: stage('Build Docker Image') { DOCKER_TAG =

我在github回购中有一个Dockerfile。 我需要以某种方式设置我的工作区,为此,我想使用Dockerfile

我似乎找不到任何明确的Jenkins文件示例,可以将容器创建为管道的单独阶段


如何做到这一点?

鉴于您使用的是管道(jenkinsfile)语法,这就是构建docker映像的方式(最简单的方式):

如果要构建容器,然后对其进行测试,则需要存储对容器的引用,可以使用以下代码执行此操作:

stage('Build Docker Image') 
{
    DOCKER_TAG = "my_tag"
     docker.withRegistry("${my_docker_registry}")
     {
       var my_image = docker.build("${DOCKER_IMAGE}:${DOCKER_TAG}")

       my_image.inside
       {
         sh "echo 'Hello World'"
       }

       my_image.push()
     }
}
请注意,如果您使用docker映像来运行管道,则需要将docker守护进程暴露到映像中以构建映像(此处某处有一个“映像一直向下”的笑话…)

stage('Build Docker Image') 
{
    DOCKER_TAG = "my_tag"
     docker.withRegistry("${my_docker_registry}")
     {
       var my_image = docker.build("${DOCKER_IMAGE}:${DOCKER_TAG}")

       my_image.inside
       {
         sh "echo 'Hello World'"
       }

       my_image.push()
     }
}