我想使用命令sudo docker stop $(docker ps -a -q)
停止所有正在运行的docker容器。但是当我运行它时,docker输出
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied
"docker stop" requires at least 1 argument.
See 'docker stop --help'.
Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]
Stop one or more running containers
仅运行docker ps -a -q
会输出Docker ID,但是当我将其与Docker命令结合使用时,它将无法工作。谢谢。
答案 0 :(得分:0)
您不是要在两个不同的控制台/用户中运行docker ps -a -q
和docker stop $(docker ps -a -q)
吗?显示的错误实际上是两个不同的错误:
docker ps -q -a
由于权限不足而无法完成docker stop ...
由于子shell中的错误而获得空参数列表编辑:
如果使用sudo
,则每个命令都在继承特权/环境的不同Shell /子Shell中运行。但是子shell是从最外层开始按顺序调用的。因此,脚本将依次按docker ps
和sudo docker stop
的顺序调用。第一个不会提升特权。
答案 1 :(得分:0)
我还没有意识到在命令替换中还需要sudo:
nuget pack