だから、次のコマンドがあります。
$(docker container ls -a -q) | docker container stop
すべてのドッカーコンテナを停止し、素晴らしい作品!すべてのコンテナを消去しない限り:
"docker container stop" requires at least 1 argument.
See 'docker container stop --help'.
Usage: docker container stop [OPTIONS] CONTAINER [CONTAINER...]
Stop one or more running containers
1行のコマンドを使用してこのエラーメッセージが表示されるのを防ぐ方法はありますか?
注:私の元のコマンドは実際にdocker container stop $(docker container ls -a -q)
同じエラーメッセージを表示しましたが、あるコマンドを別のコマンドにパイピング/チェーン接続することで、私の問題を説明する方が簡単になると思いました。両方のコマンドに対する答えはうまくいきますが、使用することを好みます。docker container stop $(docker container ls -a -q)
ベストアンサー1
DockerのN-ary停止操作は、コンテナがないと愚かなので、引数を1つdocker stop container
だけ使用する単項操作として扱い、その単項操作に固有の用語のリストを割り当てることができます。もちろん、ロジックでは、次のように空の用語シーケンスを処理できます。
for x in $(docker container ls -a -q); do docker container stop $x; done
結果が生成されない場合、$(docker ...)
ループは実行されません。