能否以普通用户身份或者不使用 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

目录
相关文章
|
1月前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
1月前
|
Kubernetes Shell 测试技术
在Docker中,可以在一个容器中同时运行多个应用进程吗?
在Docker中,可以在一个容器中同时运行多个应用进程吗?
|
1月前
|
Shell Docker 容器
在Docker中,如何停止所有正在运行的容器?
在Docker中,如何停止所有正在运行的容器?
|
1月前
|
前端开发 PHP 开发者
React Server Component 使用问题之怎么使用Docker运行PHP应用
React Server Component 使用问题之怎么使用Docker运行PHP应用
|
1月前
|
监控 Ubuntu Docker
如何在Docker容器启动时自动运行脚本
【8月更文挑战第13天】在Docker容器启动时自动运行脚本可通过以下方式实现:1) 使用`ENTRYPOINT`或`CMD`指令在Dockerfile中直接指定启动脚本,如`ENTRYPOINT ["/startup.sh"]`;2) 启动容器时通过`--entrypoint`参数指定脚本路径;3) 利用supervisor等进程管理工具自动启动与监控脚本,确保其稳定运行。确保脚本具有执行权限并正确设置依赖资源路径。
480 1
|
23天前
|
前端开发 jenkins 持续交付
jenkins学习笔记之二十:docker in docker运行pipeline
jenkins学习笔记之二十:docker in docker运行pipeline
|
28天前
|
开发框架 监控 .NET
【Azure 应用程序见解】在Docker中运行的ASP.NET Core应用如何开启Application Insights的Profiler Trace呢?
【Azure 应用程序见解】在Docker中运行的ASP.NET Core应用如何开启Application Insights的Profiler Trace呢?
|
1月前
|
Docker 容器
docker: 修改运行容器的端口
docker: 修改运行容器的端口
|
1月前
|
存储 缓存 Ubuntu
Docker详解:如何创建运行Memcached的Docker容器
Docker详解:如何创建运行Memcached的Docker容器
18 0
|
1月前
|
SQL 应用服务中间件 数据安全/隐私保护
Apollo——docker-compose运行Apollo
Apollo——docker-compose运行Apollo
30 0