如何解决Linux普通用户无法直接操作docker命令?

启动docker命令出现的问题.

syy@ubuntu:~$ docker ps
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.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied

分析:

这个错误消息告诉我,你的错误没有能够获得docker engine,因为你缺少权限去使用unix socket与docker engine 通信.
方法一(这是临时方法)

你可以在执行命令前,添加sudo,以管理员的身份,来执行命令.

方法二(推荐方法)

解决这个问题,抓住LInux的权限管理,通过把当前的用户添加到docker group.

   sudo usermod -a -G docker $USER //将当前用户添加到docker组中.

notes

-a在-G存在的情况下,增加次要用户组的支持,不是修改当前用户组
-G修改当前次要组
-G -a 是增加新的次要组

了解一下usermod 的用法

我们使用uermod --help 查看

syy@ubuntu:~$ usermod --help
Usage: usermod [options] LOGIN

Options:
  -c, --comment COMMENT         new value of the GECOS field
  -d, --home HOME_DIR           new home directory for the user account
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -g, --gid GROUP               force use GROUP as new primary group
  -G, --groups GROUPS           new list of supplementary GROUPS
  -a, --append                  append the user to the supplemental GROUPS
                                mentioned by the -G option without removing
                                him/her from other groups
  -h, --help                    display this help message and exit
  -l, --login NEW_LOGIN         new value of the login name
  -L, --lock                    lock the user account
  -m, --move-home               move contents of the home directory to the
                                new location (use only with -d)
  -o, --non-unique              allow using duplicate (non-unique) UID
  -p, --password PASSWORD       use encrypted password for the new password
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             new login shell for the user account
  -u, --uid UID                 new UID for the user account
  -U, --unlock                  unlock the user account
  -v, --add-subuids FIRST-LAST  add range of subordinate uids
  -V, --del-subuids FIRST-LAST  remove range of subordinate uids
  -w, --add-subgids FIRST-LAST  add range of subordinate gids
  -W, --del-subgids FIRST-LAST  remove range of subordinate gids
  -Z, --selinux-user SEUSER     new SELinux user mapping for the user account

下面是网友的翻译,我直接拿来了:

-a|–append ##把用户追加到某些组中,仅与-G选项一起使用
-c|–comment ##修改/etc/passwd文件第五段comment
-d|–home ##修改用户的家目录通常和-m选项一起使用
-e|–expiredate ##指定用户帐号禁用的日期,格式YY-MM-DD
-f|–inactive ##用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1
-g|–gid ##修改用户的gid,改组一定存在
-G|–groups ##把用户追加到某些组中,仅与-a选项一起使用
-l|–login ##修改用户的登录名称
-L|–lock ##锁定用户的密码
-m|–move-home ##修改用户的家目录通常和-d选项一起使用
-s|–shell ##修改用户的shell
-u|–uid ##修改用户的uid,该uid必须唯一
-U|–unlock ##解锁用户的密码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值