如何在Docker中以非root用户身份向卷容器写入数据?

23

如何挂载一个非root容器用户可写的卷?我可以接受卷被非root用户拥有或权限设置为777。

Dockerfile:

FROM alpine
RUN adduser -D myuser
USER myuser

构建镜像:

docker build -t example .

运行镜像,查看/app目录不可被用户写入

% docker run -i -t -v myapp:/app example /bin/sh
/ $ whoami
myuser
/ $ ls -lha / | grep app
drwxr-xr-x    2 root     root        4.0K Nov 12 21:01 app
/ $ 

我们可以看到应用程序是全局可读的,但只有root用户可以进行写操作。


相关内容:https://dev59.com/FmAg5IYBdhLWcg3wfa96 - Ciro Santilli OurBigBook.com
1个回答

15

在这种情况下,卷是一个容器,所以没有变通方法。 :( 我将在外部驱动它,作为根用户执行基于卷的操作,并作为单独的用户使用 -u 执行其他操作。感谢您指出这个错误。 - Frederick F. Kautz IV

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接