Команда Docker composer не выполнена во время установки зависимостей composer - PullRequest
2 голосов
/ 29 марта 2019

Я настраиваю сервер развертывания. Я установил Docker и запустил Docker-контейнер с docker-composer.yaml, сгенерированным phpdocker.io. И я также установил Дженкинс. Все настройки на экземпляре EC2. Все отлично работает.

Во время push to master в github, jenkins необходимо сделать pull и запустить некоторые команды в экземпляре EC2. Когда я пытаюсь установить зависимости композитора, я получаю следующие ошибки:

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

Я пытаюсь найти много решений, но, похоже, Дженкинс не может найти докер или не может связаться с докером.

Одно из упомянутых решений - не работает docker. Я вошел в инстанс EC2 и уверен, что он работает. Также я добавил докер в 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

Есть идеи, как решить эту ошибку? Если вам нужна дополнительная информация, пожалуйста, не стесняйтесь спрашивать.

Спасибо

1 Ответ

2 голосов
/ 29 марта 2019

Запуск сценариев оболочки, содержащих команды sudo от jenkins, может выполняться не так, как ожидалось. Чтобы исправить это, следуйте по Простые шаги: 1. В системах на основе Ubuntu запустите "$ sudo visudo" 2. откроется файл / etc / sudoers. 3. Если ваш пользователь jenkins уже находится в этом файле, измените его следующим образом:

Дженкинс ВСЕ = (ВСЕ) НОПАССВД: ВСЕ 4. сохраните файл, нажав Ctrl + O (не сохраняйте в файл tmp. Сохраните в / etc / sudoers, подтвердите перезапись) 5. Выйдите, нажав Ctrl + X 6. Перезапустите работу Дженкинса 7. Вы не должны снова видеть это сообщение об ошибке:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...