无法从 ssh 的 shell 运行 docker-compose

无法从 ssh 的 shell 运行 docker-compose

我正在我的.gitlab-ci.yml文件中设置一个脚本,以便能够将新建的 Docker 映像部署到我的服务器。

到目前为止情况如下:

- ssh [email protected] '/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 已安装并可供用户“deploy”使用。

usr/local/bin我在研究过程中发现这是因为 SSH默认不加载。我尝试通过在/etc/ssh/sshd_config文件中启用用户的配置文件并在运行脚本时导出 PATH 来解决这个问题。

我不知道下一步该尝试什么。

我应该怎么办?

欢迎任何想法

答案1

使用

哪个docker-compose

或者

docker-compose 在哪里

找出它的绝对路径。

确保此路径已添加到您的 PATH 环境。

您也可以将您的docker-compose命令更改为完整路径:

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

相关内容