Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
Gitlab CI Jib插件构建Docker映像_Docker_Gitlab_Gitlab Ci - Fatal编程技术网

Gitlab CI Jib插件构建Docker映像

Gitlab CI Jib插件构建Docker映像,docker,gitlab,gitlab-ci,Docker,Gitlab,Gitlab Ci,我正在使用Jib创建docker容器并将其推送到注册表。为此,我想构建一个Docker映像,在将该映像推送到Gitlab注册表之前,该映像可用于容器扫描。我面临的问题是我不能为构建使用mavendocker映像,因为它没有运行docker代理。我不能使用docker图像,因为它没有maven图像。有没有办法在不创建自定义docker映像的情况下解决此问题 这是我与此部件相关的.gitlab ci.yml文件: Building: image: docker:19.03.1 # or mav

我正在使用Jib创建docker容器并将其推送到注册表。为此,我想构建一个Docker映像,在将该映像推送到Gitlab注册表之前,该映像可用于容器扫描。我面临的问题是我不能为构建使用
maven
docker映像,因为它没有运行docker代理。我不能使用
docker
图像,因为它没有maven图像。有没有办法在不创建自定义docker映像的情况下解决此问题

这是我与此部件相关的
.gitlab ci.yml
文件:

Building:
   image: docker:19.03.1 # or maven:3-jdk-8
   stage: build 
   only:
      - master
   script:
      - echo "Building the project"
      - mvn compile jib:dockerBuild
如果是docker映像:

/bin/sh: eval: line 91: mvn: not found
对于maven图像:

Build to Docker daemon failed, perhaps you should make sure Docker is installed and you have correct privileges to run it
  • 您可以使用
    mvn编译jib:build
    构建jib,然后在接下来的步骤中生成docker映像并推送到注册表
  • 二,。或者尝试在docker中以docker的身份运行,这样gitlab runner就可以使用docker映像来支持我们的管道,并使用docker作为映像

    image: docker:latest
        services:
          - docker:dind
        Building:
           image: maven:3-jdk-8
           stage: build 
           only:
              - master
           script:
              - echo "Building the project"
              - mvn compile jib:dockerBuild
    

    您的跑步者配置是什么?在docker里做docker吗?@tarunkhosla我不这么认为。这是默认的Gitlab cloud runnermvn编译jib:build将创建一个docker映像并直接将其推送到注册表。