You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条命令通过SSH向Docker VirtualBox虚拟机发送指令?

解决通过SSH向Docker VirtualBox虚拟机发送单条命令的问题

我懂你现在的需求:不想进入交互式控制台,而是直接从外部发送一条带脚本逻辑的命令到Docker VirtualBox虚拟机里执行。其实用docker-machine自带的SSH功能就能轻松搞定,步骤很清晰:

1. 先确认目标虚拟机信息

首先执行docker-machine ls命令查看所有可用的虚拟机,找到你要操作的那台的名称:

[root@localhost ~]# docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v20.10.21

从输出里记下NAME列的虚拟机名称,比如上面示例里的default。

2. 直接发送单条命令/脚本

用docker-machine ssh命令直接传递你要执行的指令,语法是:

docker-machine ssh <虚拟机名称> "<你的命令或脚本内容>"

给你几个实际场景的例子:

  • 简单命令:比如查看虚拟机内的Docker版本
docker-machine ssh default "docker --version"
  • 带逻辑的脚本:比如创建测试目录、写入内容并查看结果
docker-machine ssh default "mkdir -p /tmp/test && echo 'Hello from external' > /tmp/test/msg.txt && cat /tmp/test/msg.txt"
  • 多行脚本:如果你的逻辑有多个步骤,直接换行写在引号里就行
docker-machine ssh default "
echo 'Starting execution...'
# 查看磁盘使用情况
df -h
# 检查运行中的容器
docker ps
echo 'Execution completed'
"

小提示

  • 如果命令里包含双引号,记得用反斜杠\转义,或者外层用单引号包裹(但单引号内的变量不会被解析,按需选择)
  • 确保目标虚拟机处于Running状态(从docker-machine ls的STATE列可确认),否则无法连接执行命令

内容的提问来源于stack exchange,提问作者CodeMed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:22:33