docker 容器挂载目录权限指定用户

  • docker创建容器的时候,通过挂载目录可以实现容器与宿主机共享文件,但是在多用户使用的情况会出现权限的问题.
  • 原因: dockers创建容器的时候默认的用户id 和 group id 都是默认的1000,容器内部的用户权限是和宿主机对应的,但是宿主机的其他用户的id 就不是1000了,这个时候权限就对应不起来了
  • 解决方法用户添加的时候加上相应的用户id 和 group id 就可以了
  • 例如可以在Dockerfile里加上如下步骤:
    RUN addgroup --gid ${gid} ${username} && \
        adduser --uid ${uid} --ingroup ${username} --disabled-password ${username}
    
  • 或者在启动脚本里面添加也是一样的
  • 最后进入容器可以使用docker exec -it -u ${uid}:${gid} ${container_id} /bin/bash 就能进入相应的用户
posted @ 2022-04-14 19:18  鲁zzz  阅读(4113)  评论(1编辑  收藏  举报