gpt4 book ai didi

php - Docker composer命令在安装composer依赖期间失败

转载 作者:行者123 更新时间:2023-12-02 18:20:05 29 4
gpt4 key购买 nike

我正在设置部署服务器。我安装了docker并使用phpdocker.io生成的docker-composer.yaml运行docker容器。而且我还安装了 Jenkins 。所有设置都在EC2实例上。一切正常。

在 push github掌握过程中,jenkins需要拉动并在EC2实例中运行一些命令。当我尝试安装composer依赖项时,出现以下错误:

docker-compose exec php-fpm composer install
Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
Build step 'Execute shell' marked build as failure
Finished: FAILURE

我尝试寻找许多解决方案,但jenkins似乎无法找到docker,或者无法与docker通信。

其中提到的解决方案之一是docker没有运行。我已登录到EC2实例,并且确定它正在运行。我也将docker添加到sudo中。
只是为了确认这里是 $ id -nG的输出
$ id -nG
ubuntu adm dialout cdrom floppy sudo audio dip video plugdev lxd netdev docker


如评论中所述,我尝试添加sudo
$ sudo docker-compose exec php-fpm composer install
sudo: no tty present and no askpass program specified
Build step 'Execute shell' marked build as failure
Finished: FAILURE

任何想法如何解决此错误?如果您需要更多信息,请随时询问。

谢谢

最佳答案

从jenkins运行包含sudo命令的shell脚本可能无法按预期运行。要解决此问题,请遵循
简单步骤:
1.在基于ubuntu的系统上,运行“$ sudo visudo”
2.这将打开/ etc / sudoers文件。
3.如果您的jenkins用户已经在该文件中,则进行修改,如下所示:

jenkins ALL =(全部)NOPASSWD:全部
4.通过执行Ctrl + O保存文件(不要保存在tmp文件中。保存在/ etc / sudoers中,确认覆盖)
5.通过执行Ctrl + X退出
6.重新启动 Jenkins 的工作
7.您不应再看到该错误消息:)

关于php - Docker composer命令在安装composer依赖期间失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55414550/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com