我正在使用 docker 容器来构建我的应用程序,文件和文件夹的所有权是非 root 用户..
我需要将文件从本地物理机复制到docker容器,文件的所有权是root。这是我用来将文件从本地复制到 docker 容器的命令
docker cp resources <container-id>:/var/lib
我从本地机器复制到docker容器的资源文件夹的所有权是root,如何将其更改为非root所有权? docker 容器没有权限执行 chown 命令。
是否可以使用具有所有权的“docker cp”命令?
我的 docker 容器确实有 dockerfile,而 dockerfile 与此没有任何关系。我只想使用从本地主机复制到 docker 容器的文件的非 root 所有权。
您可以使用标准的管道方法
tar
:
tar c resources | docker exec -i $container_name tar x -C /var/lib --uid $uid --gid $gid
其中
$uid
和 $gid
是容器内使用的非 root 用户和组 ID。