簡體   English   中英

如何在基於 dockerfile 的容器中運行 Jenkins 管道?

[英]How to run Jenkins pipeline in a container based on a dockerfile?

我正在嘗試在基於存儲在 SCM 中的 dockerfile 的容器內運行管道。

在我的管道開始的下面:

pipeline {
    agent { 
        dockerfile {
            dir '002_CICD'
        }

    }
....

當我嘗試運行管道時,出現以下錯誤:

   + docker build -t 66dae53280bc29614c69b505e48424c25e689b91 -f 002_CICD/Dockerfile 002_CICD
/var/jenkins_home/workspace/AMP_app_docker_pipe@tmp/durable-cbf3977b/script.sh: 1:
 /var/jenkins_home/workspace/AMP_app_docker_pipe@tmp/durable-cbf3977b/script.sh: docker: not found

為了運行 docker 容器,我安裝了以下 Jenkins 插件:

  1. Docker插件
  2. 碼頭工人建造步驟
  3. Docker流水線
  4. Docker 公用插件
  5. Docker API插件

我還在遠程服務器上啟用了 docker API 並且連接看起來很好。

我錯過了什么? 非常感謝

您要實現的是 docker 設置中的 docker (在 CI 過程中非常常用)

As your jenkins is running inside a container you need to install a docker (cli/client) in your Dockerfile hence the error docker not found.

此 docker 客戶端將使用主機的 docker 引擎來執行所有操作

關於錯誤

無法連接到 unix:///var/run/docker.sock 處的 Docker 守護程序

如果 jenkins 用戶無權訪問主機 /var/run/docker.sock,則可能會發生這種情況。 檢查主機上此文件的權限以及運行 jenkins 的用戶的相關權限

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM