docker - Docker 卷挂载提供父目录的根所有权
问题描述
我正在使用 docker 并使用
-v ~/.aws:/home/$(shell id -nu)/.aws
. 问题是,由于 /home/(user) 在创建 docker 之前不存在,因此 /home/(user) 最终归 root 所有。这会导致 pip、sam-cli 等出现问题,因为它们都试图在用户主目录中存储一些信息。
如何在不完全放弃使用特定用户的情况下避免这种情况?我尝试使用 chown 更改所有权,但我总是得到“不允许操作”。
很容易复制
developer@desktopimage:~/AWS$ docker run --rm -it -v ~/.aws:/home/developer/.aws -v /etc/group:/etc/group:ro -v /etc/passwd:/etc/passwd:ro -u 1001:1001 alpine:latest ls -al /home/developer
total 12
drwxr-xr-x 3 root root 4096 Feb 25 14:09 .
drwxr-xr-x 1 root root 4096 Feb 25 14:09 ..
drwxr-xr-x 5 develope develope 4096 Feb 3 20:49 .aws
developer@desktopimage:~/AWS$ docker run --rm -it -v ~/.aws:/home/developer/.aws -v /etc/group:/etc/group:ro -v /etc/passwd:/etc/passwd:ro -u 1001:1001 alpine:latest ls -al /home
total 12
drwxr-xr-x 1 root root 4096 Feb 25 14:09 .
drwxr-xr-x 1 root root 4096 Feb 25 14:09 ..
drwxr-xr-x 3 root root 4096 Feb 25 14:09 developer
解决方案
推荐阅读
- vue.js - 没有重复值的多个下拉列表
- python - Alembic 无法更新数据库,无限重试
- python - pyqt5中使用opencv放大图片后图片扭曲变形
- node.js - 将结构(extensionObject)添加到 node-opcua 服务器
- amazon-web-services - 如何一次性将多个表从 AWS DynamoDB 迁移到 AWS DynamoDB
- java - Mockito 模拟 WebClient Json 响应
- python - 引导 NumPy 时遇到问题
- python - 如何使用python按日期过滤postgresql查询
- powershell - 如何从 Powershell 调用批处理文件,使用自定义 .cmd 运行它?
- database - 如何有效地为文档数据库完成最终一致性?