能否以普通用户身份或者不使用 sudo 运行Docker ?

简介: 以非root 用户管理 docker ; 以非 root 用户 运行 docker daemon ;
  1. 以非根用户(non-root)管理 Docker

Docker 守护进程(daemon)绑定到 Unix 套接字(Unix socket)而不是 TCP 端口。 默认情况下,Unix 套接字(Unix socket)由用户 root 拥有,其他用户只能使用 sudo 访问它。 Docker 守护进程始终以 root 用户身份运行。

如果您不想在 docker 命令前使用 sudo,请创建一个名为 docker 的 Unix 组并向其中添加用户。 当 Docker 守护进程(docker daemon)启动时,它会创建一个可由 docker 组成员访问的 Unix 套接字(Unix socket)。

Warning : docker组拥有和根用户(root user)同等权限。

注意 : 以 non-root user (Rootless mode) 运行 Docker daemon , 可使当前用户不具根用户权限

  1. 以non-root user (Rootless mode ) 运行 Docker daemon

Rootless 模式允许以非 root 用户身份运行 Docker 守护进程(daemon)和容器(container),以缓解守护进程和容器运行时中的潜在漏洞。 Rootless模式即使在安装 Docker 守护进程(docker daemon)的过程中也不需要 root 权限,只要满足先决条件即可。

工作原理:
Rootless 模式在用户命名空间(user namespace)内执行 Docker 守护进程(docker daemon)和容器(containers)。 这与 userns-remap 模式非常相似,除了在 userns-remap 模式下,守护进程(daemon)本身以 root 权限运行,而在Rootless 模式下,守护进程(daemon)和容器(containers)都在没有 root 权限的情况下运行。
Rootless 模式不使用具有 SETUID 位或文件功能的二进制文件,除了 newuidmapnewgidmap,它们是允许在用户命名空间中使用多个 UID/GID 所必需的。

reference :

[1] Post-installation steps for Linux.Manage Docker as a non-root user.site

[2] Run the Docker daemon as a non-root user (Rootless mode).site

目录
相关文章
|
4月前
|
SQL 数据库 Docker
【赵渝强老师】在Docker中运行达梦数据库
本文介绍了在Docker容器中部署达梦数据库(DM 8)的具体步骤,包括创建文件夹、下载安装包、导入镜像、启动容器、登录数据库及查看状态等操作。同时,通过视频讲解辅助理解。文中还分析了将数据库服务容器化的潜在问题,如数据安全性、硬件资源争用、网络带宽占用和额外隔离带来的挑战,指出数据库服务在生产环境中可能不适合容器化的原因。
191 4
【赵渝强老师】在Docker中运行达梦数据库
|
3月前
|
NoSQL Redis 数据库
Docker平台上的Redis镜像运行
这就是如何在Docker平台上运行Redis镜像的全部过程。走进Docker和Redis的世界,探索更多可能!
268 10
|
9月前
|
安全 Docker 容器
|
7月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
6月前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
554 25
|
7月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
292 5
|
7月前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
188 4
|
8月前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
684 3
|
9月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
1098 3
|
9月前
|
安全 Docker 容器
Docker中运行容器时Operation not permitted报错问题解决
【10月更文挑战第2天】Docker中运行容器时Operation not permitted报错问题解决
3417 3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等