【问题标题】:How can I run a complex docker command from host machine that runs in the docker host?如何从在 docker 主机中运行的主机运行复杂的 docker 命令?
【发布时间】:2014-07-17 05:07:51
【问题描述】:

假设我有一台主机和一个运行 Docker 的 Vagrant Virtualbox。 如果我想在 vagrant 上运行 docker 命令,我可以执行以下操作:

vagrant ssh -c "docker ps"

如果我想删除我可以从 vagrant 中运行的所有容器:

docker rm $(docker ps -a -q)

尝试从 vagrant 外部移除所有容器:

vagrant ssh -c "docker rm $(docker ps -a -q)"

不起作用。它尝试在主机上运行“docker ps -a -q”,而不是在无法工作的 Vagrant 中运行。如果我改为尝试:

vagrant ssh -c "docker rm $(vagrant ssh -c \"docker ps -a -q\")"

我离得更近了一点,但不是很有效。我怎样才能运行这样的命令,而不必直接输入 vagrant 或运行 shell 脚本?

【问题讨论】:

    标签: bash vagrant docker


    【解决方案1】:

    尝试在命令周围使用单引号,这将阻止你的 shell 在它可以在 vagrant box 上运行之前进行插值。

    vagrant ssh -c 'docker rm $(docker ps -a -q)'

    【讨论】:

      猜你喜欢
      • 2019-10-05
      • 2020-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      相关资源
      最近更新 更多