git-remote-dropbox与docker-compose secrets配合授权失效问题求助
Git-Remote-Dropbox + Docker Compose Secret 未授权问题排查
可能的原因及解决步骤:
路径解析问题:Docker Compose 不识别
~作为用户主目录的缩写,需要替换为绝对路径。比如你的用户主目录是/home/ramil,配置应修改为:secrets: dropboxlogin: file: /home/ramil/.git-remote-dropbox.json容器内挂载位置错误:git-remote-dropbox 默认在当前用户主目录下查找
.git-remote-dropbox.json,但 Docker Compose Secret 默认挂载路径是/run/secrets/dropboxlogin。可通过两种方式修正:
方式1:将 Secret 挂载到用户主目录对应位置services: your-service: secrets: - source: dropboxlogin target: /home/your-user/.git-remote-dropbox.json方式2:用环境变量指定凭证文件路径
services: your-service: environment: - GIT_REMOTE_DROPBOX_CONFIG=/run/secrets/dropboxlogin secrets: - dropboxlogin文件权限问题:Docker Secrets 默认挂载的文件权限为
0440,所属用户/组是root:root。若容器以非 root 用户运行,需确保该用户能读取文件:- 在 Dockerfile 中添加命令让用户加入 root 组:
RUN usermod -aG root your-user - 不推荐直接修改 Secret 文件权限(Secrets 为只读状态)
- 在 Dockerfile 中添加命令让用户加入 root 组:
凭证文件有效性验证:先在本地主机测试
.git-remote-dropbox.json是否能正常拉取/推送 Dropbox 仓库,排除凭证本身失效的问题。
内容的提问来源于stack exchange,提问作者Ramil Tsulini
相关产品推荐
相关产品推荐

