「Docker」- ...dial unix /var/run/docker.sock: connect: permission denied... @20210201

问题描述

当使用非 ROOT 用户执行 docker 命令时,

产生如下错误信息:

# docker inspect -f . node:14-alpine
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.40/containers/node:14-alpine/json: dial unix /var/run/docker.sock: connect: permission denied

或者如下错误信息:

Post http:///var/run/docker.sock/v1.19/auth: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?

问题原因

这些都是同类问题,即非 Root 用户管理 Docker 服务时权限不足。

在 Docker 进程运行时,使用 Unix socket 文件,它由 root:root 所有,所以只有 root 能访问。

如果非 root 用户想要管理,则需要使用 sudo 命令,或者使用其他方法(见下文)。

解决办法

# groupadd docker
# usermod -aG docker "target user"
# systemctl restart docker.service

注意事项

使用 docker 组所授予的权限等同于 root 用户。对系统安全的影响,参考 Docker daemon attack surface 文档

参考文献

WikiNotes/...dial unix /var/run/docker.sock: connect: permission denied...
Manage Docker as a non-root user

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值