我们需要在不使用sudo用户或不将用户添加到docker组的情况下运行docker命令。
我尝试在无根的docker上进行探索,但是它没有安装在我们的centos 7机器上。
裁判:https://docs.docker.com/engine/security/rootless/
我们正在为所有其他用户使用NIS,因此,我们希望做一些事情,因为我们拥有的所有开发人员都可以使用docker,而无需实际提供sudo访问权限。
同时,我们也不希望在docker组中添加这么多用户。
我们的机器配置:
# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
如果这是关于锁定对远程服务器的访问,那么不允许通过SSH访问docker,您可以为mtls加密通信启用:2376套接字。现在的问题变成了证书分发的问题,这可以说是更糟糕的问题。
正如评论中提到的,无论dockerd以什么用户运行,都是能够访问docker api的人的有效用户,因为docker没有尝试RBAC。如果你想这样做,就像我喜欢docker和docker swarm一样,这是你应该使用Kubernetes的需求之一。