我刚开始使用码头和维护者。
我使用portainer创建了一个堆栈,并通过相同的docker-组合为不同的应用程序添加了持久卷。
我的问题是,当编辑并保存在这些卷中创建的文件(例如,Nginx配置)时,我获得了编写该文件的“拒绝权限”。
当我进入文件夹并输入ls -l来检查所有权时,我发现portainer使用的每个文件夹都是根用户拥有的。
这是正常行为吗?我是缺少了portainer下的配置,还是应该将这些卷的所有权更改为我的用户?
注意:我使用的是portainer 1.23.1、docker 19.03.2和ubuntu19.10。这是一个个人的homelab项目,但我也有兴趣知道这将如何在生产中。
发布于 2022-07-12 09:04:52
在使用了几年的对接和对接组合之后,我收到了一个通知,这个问题仍然是活跃的。
此问题是由于停靠者默认使用root用户来运行容器(除非容器已经有指定用户)。
为了防止这个问题,容器应该与操作系统上的用户一起运行,使用--user=""标志(或者在docker组合中的user: "" )并指定uid。
例:
services:
mycontainer:
image: myimage:latest
user: "1000"要获得用户uid,只需运行命令id $USER
https://serverfault.com/questions/1011925
复制相似问题