Ssh

無法從 ssh 的 shell 執行 docker-compose

  • April 28, 2019

我正在我的.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:找不到命令”。當然,當我與使用者一起登錄時,docker-compose 已安裝並可供使用者“部署”使用。

我在研究過程中發現這是因為usr/local/bin預設情況下不載入 SSH。我試圖通過在文件中啟用使用者的配置/etc/ssh/sshd_config文件來解決這個問題,並在執行腳本時導出 PATH。

對於下一步我應該嘗試什麼,我已經沒有什麼想法了。

我該怎麼辦?

歡迎任何想法

採用

哪個碼頭工人組成

或者

碼頭工人撰寫在哪裡

找出它的絕對路徑是什麼。

確保將此路徑添加到您的 PATH 環境中。

您也可以將您的更改docker-compose為完整路徑命令:

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

引用自:https://serverfault.com/questions/964859