![使用 sshpass 在新的交互式终端中运行 docker 容器!](https://linux22.com/image/220409/%E4%BD%BF%E7%94%A8%20sshpass%20%E5%9C%A8%E6%96%B0%E7%9A%84%E4%BA%A4%E4%BA%92%E5%BC%8F%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%20docker%20%E5%AE%B9%E5%99%A8%EF%BC%81.png)
我正在尝试使用 sshpass 在新的交互式终端中运行 Docker 容器。我发现:
gnome-terminal --tab -- sh -c \
"sshpass -p "password" ssh name@ip -t 'bash -ic docker run ...';bash'"
其中密码、名称、IP 是正确的,... 是 docker 命令的其余部分(安装、group_id 等)
该命令起作用并创建一个新终端,其中包含正确的容器。问题是它不是交互式的,因此使用 ctrl-c (SIGINT) 停止执行会中断 sshpass 命令,并且容器仍在远程服务器中运行。我们的想法是让这项工作能够在许多实例中执行命令。
PS:如何在脚本中从 $ 变量中给出名称、IP 和密码?通常的方式无法正常工作。