Невозможно запустить docker-compose из оболочки ssh

Я работаю над настройкой скрипта в моем .gitlab-ci.yml файл, чтобы я мог развернуть недавно созданный образ Docker на моем сервере.

Вот как это выглядит на данный момент:

- ssh deploy@my.private.vps '/bin/sh -c "cd /home/project/some/directory &&
export PATH=/bin:/usr/bin:/usr/local/bin && \
docker-compose stop web && \
docker-compose rm -f web && \
docker-compose up -d web && \
docker-compose exec web php artisan storage:link && \ 
exit"' 

Однако я продолжаю получать сообщение «docker-compose: command not found» при запуске команды . Конечно, docker-compose устанавливается и доступен для пользователя "deploy", когда я вхожу в систему с пользователем.

Во время своих исследований я обнаружил, что это произошло из-за того, что SSH не загружает usr / local / bin по умолчанию. Я попытался решить эту проблему, включив профиль пользователя в файле / etc / ssh / sshd_config и экспортируя PATH при запуске скрипта.

Я работаю нет идей о том, что мне следует попробовать дальше.

Что мне делать?

Любая идея приветствуется

0
задан 27 April 2019 в 18:23
1 ответ

Используйте

which docker-compose

или

whereis docker-compose

, чтобы узнать, каков его абсолютный путь.

Убедитесь, что этот путь добавлен в ваш PATH env.

Вы также можете просто изменить свой docker-compose на команды полного пути:

/ usr / local / bin / docker-compose stop web (. ..)

1
ответ дан 4 December 2019 в 15:42

Теги

Похожие вопросы