[英]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 插件:
我還在遠程服務器上啟用了 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.