通过dockerfile将具有相同权限和所有权的目录复制到容器中

通过dockerfile将具有相同权限和所有权的目录复制到容器中,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我有一个目录以及目录中的各种文件和目录 某些文件和目录的所有权和组不同 我创建了一个Dockerfile。我在Dockerfile中使用相同的uid和gid创建了完全相同的用户和组 因此,创建的容器也将具有与主机相同的用户和组,并具有相同的uid和gid 映像也作为容器成功构建。当我在容器中看到所有目录和文件的所有权是(root) 我需要对每个文件和目录拥有与主机完全相同的所有权 请帮忙 提前感谢。将文件复制到docker映像后,root用户将始终是文件的所有者 将文件复制或添加到Docker图

我有一个目录以及目录中的各种文件和目录

某些文件和目录的所有权和组不同

我创建了一个Dockerfile。我在Dockerfile中使用相同的uid和gid创建了完全相同的用户和组

因此,创建的容器也将具有与主机相同的用户和组,并具有相同的uid和gid

映像也作为容器成功构建。当我在容器中看到所有目录和文件的所有权是(root)

我需要对每个文件和目录拥有与主机完全相同的所有权

请帮忙


提前感谢。

将文件复制到docker映像后,root用户将始终是文件的所有者

将文件复制或添加到Docker图像后,修复文件权限是最佳做法

ONBUILD ADD . /application
ONBUILD RUN chown -R rails /application
您不需要关心主机系统上的文件所有者,因为所有文件都将在docker容器中可用,您应该做的唯一一件事是确保容器中运行的用户具有文件的访问权限


主机和docker容器之间需要对齐文件权限的唯一情况是容器和主机都共享一些文件。

容器有自己的
/etc/passwd
文件,通常可以在多台主机上运行映像。由于容器与主机隔离,因此实际上不需要容器的用户ID空间来匹配任何特定主机。