【问题标题】:Gitlab CI Jib plugin build Docker imageGitlab CI Jib 插件构建 Docker 镜像
【发布时间】:2019-09-09 08:08:07
【问题描述】:

我正在使用 Jib 创建一个 docker 容器并将其推送到注册表。为此,我想在将图像推送到 Gitlab 注册表之前构建一个可用于容器扫描的 Docker 图像。我面临的问题是我无法使用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

【问题讨论】:

  • 你的跑步者配置是什么?在 docker 中作为 docker 运行?
  • @tarunkhosla 我不这么认为。它是默认的 Gitlab 云运行器

标签: docker gitlab gitlab-ci


【解决方案1】:
  1. 您可以使用mvn compile jib:build 构建jib,然后在接下来的步骤中制作docker 映像并推送到注册表。

2 。或者尝试在 docker 中作为 docker 运行,以便 gitlab 运行器可以使用 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

【讨论】:

  • mvn compile jib:build会创建一个docker镜像并直接push到registry。
猜你喜欢
  • 1970-01-01
  • 2020-08-09
  • 2021-12-29
  • 1970-01-01
  • 2018-02-13
  • 2019-08-03
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多