问题
docker容器挂载目录下部分文件,在容器外没有足够权限
原因
Docker容器与宿主机共享同一个内核,在验证权限时只认可Uid和Gid。因此,无论是在容器内还是在宿主机上,对于特定文件的所有者,只认相应的Uid。当启动Docker容器时,如果未指定用户,则默认使用root用户。如果在容器内对挂载目录下的文件进行操作,那么相应文件的所有者将会升级为root。在容器外,如果只有非root用户的权限,将无法对这些文件进行操作。
解决办法
docker run (参数...) -u uid:gid -it container_name
补充说明
uid和gid查看方式:
id -u
id -g