我如何运行docker compose作为Jenkins编写的shell脚本
我试图在“executeshell”中运行命令我如何运行docker compose作为Jenkins编写的shell脚本,docker,jenkins,continuous-integration,docker-compose,devops,Docker,Jenkins,Continuous Integration,Docker Compose,Devops,我试图在“executeshell”中运行命令docker compose up-d,作为Jenkins的构建步骤。作业失败,并提供以下控制台日志: docker组装--构建-d 无法连接到http上的Docker守护程序+docker://localunixsocket -它在运行吗 如果它位于非标准位置,请使用DOCKER_HOST环境变量指定URL。 生成步骤“执行shell”将生成标记为失败 完成:失败` 当我将cd放入jenkins工作区(/var/lib/jenkins/worksp
docker compose up-d
,作为Jenkins的构建步骤。作业失败,并提供以下控制台日志:
docker组装--构建-d
无法连接到http上的Docker守护程序+docker://localunixsocket -它在运行吗
如果它位于非标准位置,请使用DOCKER_HOST环境变量指定URL。
生成步骤“执行shell”将生成标记为失败
完成:失败`
当我将cd放入jenkins工作区(/var/lib/jenkins/workspace/app/)并尝试运行docker compose时,首先我可以得到一个正常的构建。现在我在控制台中遇到错误:错误:处理tar文件时出错(存档/tar:invalid tar header):
。当然,当从控制台调用时,应用程序在主目录中正常构建和运行
Docker正在主机上运行。可以由普通用户运行docker compose。我确实将jenkins用户添加到docker组。我甚至试着遵循一些亚洲教程,这让我改变了默认/DOCKER中的DOCKER_选项,但在重新启动DOCKER服务后,它没有在端口4243上运行,所以我不理解翻译,或者它没有在ubuntu 16.04(主机系统)上运行
Jenkins不是在容器中运行的,它是随意安装在主机上的,没有VM,没有docker,什么都没有。我尝试从主机上完全删除docker和jenkins(清除等)并重新安装,仍然是相同的错误
有什么想法吗?以root用户身份点击此命令,然后重试
usermod -aG docker jenkins
转到这里
/var/lib/jenkins/workspace/app/
,然后执行以下操作:sudo-u jenkins docker info
。你有什么错误吗?嘿,谢谢你的回复。我收到了警告警告:加载配置文件时出错:/home/pwlaz/.docker/config.json-stat/home/pwlaz/.docker/config.json:权限被拒绝,在此警告之后,docker信息会正常输出(与我自己可以获得的信息相同,pwlaz)。所以我有点迷路了,有些许可被拒绝了,但同时信息被打印出来了,这没关系。权限被拒绝是因为错误的home dir。这不会失败:sudo-H-u jenkins docker info
。我不知道jenkins应用程序会发生什么。