[英]Run an arbitrary command in a docker container that runs on a remote host after sourcing some environment variables from another command
[英]How can I run a complex docker command from host machine that runs in the docker host?
假设我有一台主机和一个运行Docker的Vagrant Virtualbox。 如果我想在无业游民上运行docker命令,可以执行以下操作:
vagrant ssh -c "docker ps"
如果我要删除所有容器,可以在流浪汉中运行:
docker rm $(docker ps -a -q)
尝试从流浪者外部删除所有容器,方法是:
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\")"
我走近一点,但工作不充分。 我如何运行这样的命令而不必直接输入无业游民或没有要运行的Shell脚本?
尝试在命令周围使用单引号,这样可以防止外壳插值,然后才能在游荡框上运行它。
vagrant ssh -c 'docker rm $(docker ps -a -q)'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.