docker基础:使用非root用户操作docker

本文详细介绍了在不使用root权限的情况下,如何配置非root用户(如appman)操作Docker。包括两种场景:1) 使用sudo命令操作Docker,通过创建新用户和设置sudo权限实现;2) 创建docker组并赋予用户访问权限,避免频繁使用sudo。通过这些步骤,用户可以安全地管理和运行Docker容器。
摘要由CSDN通过智能技术生成

这篇文章用于介绍使用非root用户操作docker。

场景

根据企业的安全策略,有一些情况下无法获取root用户的直接使用方式,通过docker或者sudo的方式使用docker变成了这种情况下的选择之一。

参考内容

根据参考文章中的docker的官方内容,有如下信息说明。

Manage Docker as a non-root user
The Docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The Docker daemon always runs as the root user.

If you don’t want to preface the docker command with sudo, create a Unix group called docker and add users to it. When the Docker daemon starts, it creates a Unix socket accessible by members of the docker group.

从上述信息可以清楚地看到,关于如何使用非root用户对docker进行管理,由于Docker的守护进程会绑定Unix Socket而不是使用TCP端口方式,而缺省情况下Unix socket为root用户所有,其他用户只能通过sudo来进行访问,所以Docker的守护进程只能以root用户进行启动。
如果不希望在docker命令前面添加sudo进行执行,这时可以创建一个名为docker的Unix Group并向这个Group中添加用户,当Docker守护进程启动的时候,守护进程会创建一个Unix Socket文件,而docker这个group的成员对于该文件具有访问权限。

场景1:使用sudo方式操作docker

以用户appman为示例,来说明一下如何使用sudo方式操作docker。

  • 事前确认信息如下:不存在/var/lib/docker目录和appman用户
[root@host118 ~]# ls -ld /var/lib/docker
ls: cannot access /var/lib/docker: No such file or directory
[root@host118 ~]# id appman
id: appman: no such user
[root@host118 ~]# 

Step 1: 创建appman用户和group

如下创建该appman用户和group并初始化用户密码

[root@host118 ~]# useradd appman
[root@host118 ~]# id appman
uid=1003(appman) gid=1003(appman
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值