当本地 ssh 连接到我的机器并执行“docker ps”(或任何其他 docker 特定命令)时,我遇到了错误。此问题仅与 docker 命令有关。每个其他命令都像魅力一样工作。
$ssh = new SSH2('127.0.0.1');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
// after succesfull login
echo $ssh->exec('docker ps'); // or any other docker command (error here)
echo $ssh->exec('ls -la');
执行上面的代码,第一个回显返回zsh:1: command not found: docker
,而第二个回显返回正确信息。
我的设置是:
Laravel v5.5.19
phpseclib v2.0.7
macOS High Sierra 10.13 (17A405)
Docker for Mac:版本:17.09.0-ce-mac35
更新
我认为问题在于mac本身(以及远程登录?)。上面连接到 Ubuntu 16.4 服务器的 Windows 10 上的相同代码可以完美运行。连接到Ubuntu服务器的mac可以工作,但是mac连接到自己(localhost),然后出现问题。