• 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 就能进入相应的用户