簡體   English   中英

安裝 Composer 依賴項期間 Docker composer 命令失敗

[英]Docker composer command failed during install composer dependencies

我正在設置部署服務器。 我安裝了 docker 並使用由 phpdocker.io 生成的 docker docker-composer.yaml運行 docker 容器。 而且我還安裝了詹金斯。 所有設置都在 EC2 實例上。 一切正常。

在 github 中推送到 master 期間,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 實例,並且確定它正在運行。 我還向 sudo 添加了 docker。 只是為了確認這里是$ 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=(ALL) NOPASSWD: ALL 4. 通過執行 Ctrl+O 保存文件(不要保存在 tmp 文件中。保存在 /etc/sudoers 中,確認覆蓋) 5. 通過執行 Ctrl+X 退出 6. 重新啟動您的 jenkins 工作7. 你不應該再看到那個錯誤信息 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM