Podman绑定卷始终以root身份挂载,权限配置无效求助
问题:Podman绑定卷始终以root身份挂载,权限配置无效
我已配置用户级Podman,在Dockerfile中通过硬编码UID/GID、删除重建用户组和用户来确保目录归指定用户所有,代码如下:
ARG USER_ID 1000 ARG GROUP_ID 1000 ARG GROUPNAME node ARG USERNAME node # getent group ${GROUP_ID} - Get the name of the group. Ex: `somegroup:x:999:`. This makes sure the group exists # echo groupdel by-id ${GROUP_ID} - This is just there to tell the user what we're doing # groupdel $(getent group ${GROUP_ID} | cut -d: -f1) - Gets the group string as above (`somegroup:x:999:`) # and then passes it into `cut -d: -f1` which will grab the `somegroup` part and pass that into groupdel # ||: The || is the or operator and : is the null operator. This just has the effect of ensuring the line # returns with "success" rather than failure in the event the group doesn't exist RUN (getent group ${GROUP_ID} && (echo groupdel by-id ${GROUP_ID}; groupdel $(getent group ${GROUP_ID} | cut -d: -f1))) ||: RUN (getent group ${GROUPNAME} && (echo groupdel ${GROUPNAME}; groupdel ${GROUPNAME})) ||: RUN (getent passwd ${USERNAME} && (echo userdel ${USERNAME}; userdel -f ${USERNAME})) ||: RUN groupadd -g ${GROUP_ID} ${GROUPNAME} RUN useradd -l -u ${USER_ID} -g ${GROUPNAME} ${USERNAME} WORKDIR /home/node/app RUN mkdir /patches RUN chown node:node /patches
即便如此问题仍未解决,我在docker-compose的构建配置中进一步明确指定了权限参数:
build: dockerfile: podman-build/Dockerfile.patches_backend args: USER_ID: ${USER_ID:-1000} GROUP_ID: ${GROUP_ID:-1000} USERNAME: node GROUPNAME: node
容器内UID/GID配置正确,宿主机对应目录权限也符合预期(UID/GID=1000),但使用如下绑定卷配置时:
volumes: - type: bind source: repos/xml target: /patches/xml
绑定卷始终以root(UID/GID=0)身份挂载,完全无法定位问题根源。
内容的提问来源于stack exchange,提问作者Grant Curell
相关产品推荐
相关产品推荐

