在Linux系统中有一部分知识非常重要,就是关于权限的管理控制;Linux系统的权限管理是由uid和gid负责,Linux系统会检查创建进程的uid和gid,以确定它是否有足够的权限修改文件,而非是通过用户名和用户组来确认。同样,在docker容器中主机上运行的所有容器共享同一个内核也可以理解为共享权限管理方式。
Docker容器的权限管理方式分为了三种情况:
1.默认使用的root权限
不管是以root用户还是以普通用户(有启动docker容器的权限)启动docker容器,容器进程和容器内的用户权限都是root!
新建了sleep用户,以sleep用户权限启动容器并在有root权限的磁盘进行权限测试。
docker run -v /data/sleep:/sleep -d --name sleep-1 ubuntu sleep infinity
在宿主机中/data/sleep路径新建了leo_zhou文件并在文件写入“docker”,然后进入sleep-1容器
docker exec -it sleep-1 bash