2017-04-21 38 views
0

我有一個jenkins聲明性管道構建,運行gradle並使用gradle插件創建碼頭圖像。我也使用dockerfile代理指令,因此整個事情在docker容器中運行。這對於jenkins本身安裝在docker中非常有效(我知道,這是很多docker)。我將jenkins安裝在Docker for Mac上的docker容器中,並使用-v /var/run/docker.sock:/var/run/docker.sock(DooD),每https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/。通過這個設置,管道docker代理運行良好,管道docker代理中的docker build命令也運行良好。我認爲詹金斯還將碼頭插座安裝在其內部碼頭集裝箱上。jenkins管道碼頭建立在碼頭代理

現在我試圖在安裝了正確安裝docker的ec2實例上安裝jenkins。詹金斯用戶將碼頭組作爲其主要組。 jenkins用戶能夠成功運行「docker run hello-world」。我的管道建設啓動泊塢窗劑容器(基於添加了各種事物的gradle這個圖像上),但是當gradle這個嘗試運行泊塢窗build命令,我得到如下:

* What went wrong: 
Execution failed for task ':docker'. 
> Docker execution failed 
    Command line [docker build -t config-server:latest /var/lib/****/workspace/nfig-server_feature_****-HRUNPR3ZFDVG23XNVY6SFE4P36MRY2PZAHVTIOZE2CO5EVMTGCGA/build/docker] returned: 
    Cannot connect to the Docker daemon. Is the docker daemon running on this host? 

是否有可能建立內部泊塢窗圖片使用聲明式管道的碼頭代理?

回答

0

是的。

問題不在詹金斯的聲明式管道中,而是你如何設置和運行的東西。

從上面的錯誤,看起來像有一個需要授予的權限丟失。

也許如果你分享你的配置看起來像什麼以及你如何運行的東西,更多的人可以提供幫助。