设置: Windows 10 WSL
在 NAS 上打开 shell 然后连接到 docker 实例的工作命令
ssh [email protected] -i ./qnap_001.pem
[~] # docker exec -it ubuntu /bin/bash
root@ubuntu:/#
现在我想 ssh 并连接到 docker 实例,但这不起作用。
ssh [email protected] -i ./qnap_001.pem "docker exec -it ubuntu /bin/bash"
退货
sh: docker: command not found
我花了几个小时阅读帖子,但无法破解。解决后,我将在ConEmu中使用热键进行设置,以在docker 实例中打开 shell
您可能需要运行 ssh
-t
来为远程会话分配一个 TTY:您的直接问题可能是包含 docker 的目录不在远程系统上的 PATH 中,因为将该目录添加到您的 PATH 中的任何内容都没有执行。
当您运行 invoke
ssh
并指定要在远程系统上运行的命令时,默认情况下 ssh 不会为远程会话分配 TTY。远程 shell 可能会以不同方式初始化自身,因为它没有 TTY。特别是,它可能没有执行将 docker 目录添加到 PATH 的任何语句。ssh
-t
选项指示 ssh 为会话分配一个 TTY。这应该会导致您的 shell 以与交互式会话相同的方式进行自身初始化。