Docker容器内用户与宿主机用户同名不同ID的问题

编程入门 行业动态 更新时间:2024-10-25 02:24:12

Docker容器内<a href=https://www.elefans.com/category/jswz/34/1771412.html style=用户与宿主机用户同名不同ID的问题"/>

Docker容器内用户与宿主机用户同名不同ID的问题

问题:

使用宿主机的同名用户登陆Docker容器,执行文件修改操作,提示:Permission denied.

  1. 宿主机中,用户ubuntu的uid和gid信息如下:
[ubuntu@ubuntu ~]$ id
uid=1001(ubuntu) gid=1001(ubuntu) groups=1001(ubuntu),10(wheel)
  1. Docker容器中,用户ubuntu的uid和gid信息如下:
[ubuntu@3f556dcf398b ~]$ id
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),10(wheel)

影响:会导致使用ubuntu的同名用户进入Docker容器后,修改文件和创建目录等操作没有权限。

解决办法:

(1)在Docker容器中,使用root账户,修改ubuntu用户的uid和gid

[ubuntu@3f556dcf398b ~]$ su
[root@3f556dcf398b ubuntu]$ usermod -u 1001 ubuntu
[root@3f556dcf398b ubuntu]$ groupmod -g 1001 ubuntu
[root@3f556dcf398b ubuntu]$ id ubuntu
uid=1001(ubuntu) gid=1001(ubuntu) groups=1001(ubuntu),10(wheel)
[root@3f556dcf398b ubuntu]$ su ubuntu
[ubuntu@3f556dcf398b ~]$

(2)在docker修改成功后,在docker镜像退出前,使用docker commit保存镜像的修改:

[ubuntu@ubuntu ~]$ docker commit -m 'set uid and gid for ubuntu' -a 'test' 3f556dcf398b docker_image:latest

注:在Docker容器中,ubuntu用户登陆,不要使用sudo去修改ubuntu的uid和gid,会提示:“sudo: unknown uid 1000: who are you?”,发生骑驴找驴的问题。

更多推荐

Docker容器内用户与宿主机用户同名不同ID的问题

本文发布于:2023-12-03 20:21:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1657245.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:用户   宿主   容器内   Docker   ID

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!