当按照这种模式运行多个 docker 命令时,这样的功能很有用:
docker do_smth $(docker query_smth)
例如:
docker stop $(docker ps -q)
或者
docker rm $(docker ps -a -q)
或者
docker network rm $(docker inspect ... --format ...)
如果内部 docker 命令返回一个空列表,外部命令将失败,因为将显示帮助。
"docker stop" requires at least 1 argument.
See 'docker stop --help'.
Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...] [flags]
Stop one or more running containers
有没有办法让 docker 静音或让 docker 不在空列表上提示?比如:“杀死所有人。如果没有人,工作就完成了。”
这类似于
mkdir -p exiting_directory
对比 mkdir exiting_directory
如果目录存在,前者不会提示。
最佳答案
对于结果可能为空的脚本,我更喜欢使用 xargs --no-run-if-empty
:
docker ps -aq | xargs --no-run-if-empty docker rm
关于bash - 提供空列表时,是否有标志使 docker 静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49117698/