如何通过Jenkins运行docker-compose作为shell脚本

问题描述 投票:2回答:1

我试图在“执行shell”中运行命令docker-compose up -d作为Jenkins的构建步骤。作业失败并给我以下控制台日志:

docker-compose up --build -d无法连接到http + docker:// localunixsocket的Docker守护程序 - 它正在运行吗?

如果它位于非标准位置,请使用DOCKER_HOST环境变量指定URL。构建步骤'执行shell'标记构建为失败完成:FAILURE`

当我进入jenkins工作区(/ var / lib / jenkins / workspace / app /)并尝试运行docker-compose时,首先我可以获得正常构建。现在我在控制台中遇到错误:ERROR: Error processing tar file(archive/tar: invalid tar header):。当然,从控制台调用时,app会在主目录中正常构建和运行。

Docker正在主机上运行。可以由普通用户运行docker-compose。我确实将jenkins用户添加到了docker组。我甚至试过跟随http://blog.csdn.net/qiyueqinglian/article/details/46559825的一些亚洲教程,让我在默认/ docker中更改DOCKER_OPTS,但是在重新启动docker服务后它没有在端口4243上运行,所以我不理解翻译或者它不能在ubuntu 16.04上工作(主机系统) )。

Jenkins没有在容器中运行,它是随便安装在主机上,没有VM没有docker,没什么。我尝试从主机(清除等)完全删除docker和jenkins并重新安装,仍然是相同的错误。

有任何想法吗?

docker jenkins continuous-integration docker-compose devops
1个回答
0
投票

以root用户身份命中此命令,然后重试

usermod -aG docker jenkins
© www.soinside.com 2019 - 2024. All rights reserved.