在mac终端上发出的以下命令使远程shell上的docker命令失败。
但是,如果我登录到服务器并在那里发出命令,将“;”替换为“&&”

ssh -i "myKey.pem" user@host ‘docker stop $(docker ps -a -q --filter ancestor=name/kind); docker rm $(docker ps -a -q --filter ancestor=name/kind); docker rmi name/kind; docker build -t name/kind .; sudo docker run -it -d -p 80:80 name/kind’

无法连接到Docker守护程序。Docker守护进程是否在此主机上运行?
我需要从本地终端运行这个命令,因为if是一个更大的命令的一部分,该命令首先在本地构建项目并将其scp发送到服务器。
`$biger命令,然后是上面所示的ssh。
我该怎么做?谢谢

最佳答案

将非常复杂的命令传递给ssh的最佳方法是在服务器端创建脚本。
如果需要传递一些参数,请按以下方式进行:
在本地主机上创建.sh文件
scp发送到远程主机
运行“ssh user@remotehost”bash scriptfile.sh
这样做应该不会让你担心逃跑。

关于linux - 从本地计算机在远程服务器上发出Shell命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40039771/

10-16 16:57
查看更多