我的 Docker 上运行了 3 个容器,我需要使用以下命令停止所有这些容器:
sudo docker stop $(docker ps -q)
当运行命令时,我收到以下消息:
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.32/containers/json: dial unix /var/run/docker.sock: connect: permission denied
See 'docker stop --help'.
Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]
Stop one or more running containers
我进行了一些搜索,消息显示的情况不适用于我的环境。我正在使用Ubuntu 16.04 LTS和Docker版本17.09.0-ce,build afdb6d4
这条信息是什么意思?
您的用户似乎无法使用docker
命令,因此您还需要通过括号中的sudo
运行它:
sudo docker stop $(sudo docker ps -q)
如果您收到“权限被拒绝”,这可能意味着您尚未将自己添加到可以在docker上运行的用户组中。要解决此问题,请转到您的终端并键入:
sudo usermod -aG docker <name-of-user-to-grant-permission>
“docker”参数是在安装docker时创建的组,您可以通过键入以下内容进行检查:
getent group | grep docker
第二个参数是您要添加到组中的用户。您可以通过键入以下命令来检查用户列表:
getent passwd
有关命令usermod
的更多信息,请访问此处。
更新:我再次安装了docker,只记得当您应用此命令时,需要重新启动机器。
sudo usermod -a -G docker $USER
重新启动,然后运行:
docker container run hello-world
在ubuntu 18.2上对我很管用
所以我可以在没有sudo的情况下运行docker命令,但是同样的错误也出现在和logout/login和reboot上。 是因为Docker还是Gradle?
用例: Base Instance有一个Ubuntus 16.04安装的Docker,它可以找到并检查docker映像。 部署了Jenkins Docker容器的实例。 此Jenkins实例将在容器中装载主机的Docker套接字。如文中所述。 现在他在Jenkins容器上安装了docker二进制文件。 运行Jenkins conatiner的Docker ps并列出可用的容器。 但是当从Jenki
我是新来的docker我刚刚尝试使用docker在我的本地机器(Ubuntu 16.04)与Jenkins。 我用下面的管道脚本配置了一个新作业。 但它以以下错误失败。
我刚刚运行Dockerfile在jenkins安装然后我得到以下错误: 尝试连接到处的Docker守护程序套接字时,权限被拒绝unix:///var/run/docker.sock:邮递http:///var/run/docker.sock/v1.40/build?buildargs={}
我正试图在我的MacBook中运行Jenkins管道作业。我也有docker实例在本地运行。最初,我在运行Jenkins作业时收到“Docker命令not found”错误。我通过添加符号链接“ln-f-s/applications/docker.app/contents/resources/bin/*/usr/local/bin”修复了该错误。 null 我得到以下错误: 尝试连接到unix上的
试图将gitlab中的项目转换为docker映像。gitlab是自托管的。这是我得到的错误: 我添加了一个runner,注册了它,用docker模板创建了一个gitlab-ci.yml,没有做任何修改。作为解决方案,我在添加转轮之前和之后尝试了< code > chmod 666/var/run/docker . sock ,但它不起作用。我还在运行和注册docker runner之前添加了sud