【发布时间】:2020-10-02 00:20:50
【问题描述】:
AWS CLI v2 文档提供了installing / configuring the cli via docker 的选项和指南。该指南非常简单易懂,并且容器可以很好地处理关键项目
- 挂载本地
.aws目录以向容器提供凭据 - 为所需的任何 I/O 工作安装
$pwd
我将它用于 s3,并意识到我从 s3 复制到本地驱动器的任何文件都显示为 root 拥有。
>docker run --rm -v "$HOME/.aws:/root/.aws:rw" -v "$PWD:/aws:rw" amazon/aws-cli s3 cp s3://xxx/hello .
download: s3://xxx/hello to ./hello
>ls -l
total 0
-rw-r--r-- 1 root root 0 Oct 2 09:43 hello
这是有道理的,因为进程在容器中以root 的身份运行,但并不理想。容器中没有任何其他用户,所以我不能只运行“as”kirk。
>docker run --rm -u kirk -v "$HOME/.aws:/root/.aws:rw" -v "$PWD:/aws:rw" amazon/aws-cli s3 cp s3://xxx/hello .
docker: Error response from daemon: unable to find user kirk: no matching entries in passwd file.
有没有办法以“用户”身份或通过委派用户访问容器来安装卷?我不在乎(并且不确定我可以控制)容器内的用户,但我希望该进程在主机系统上的用户上下文中运行。这里的正确方法是什么?
【问题讨论】:
标签: docker aws-cli windows-subsystem-for-linux docker-volume pengwin