ubuntu 运行用户和组为1000的Docker映像

f87krz0w  于 2023-03-01  发布在  Docker
关注(0)|答案(1)|浏览(237)

我想与我的用户一起运行我的映像,当我运行echo $(id -u)echo gid=$(id -g)时,我在两者中都得到1000
基本上我是这样做的:

docker run -u 1000:1000 --rm -e .....

在我的本地映像运行过程中,我在我的机器中写入了一些文件,但当我看到这个文件(ls -l)中的权限和所有者时,我得到:

-rw-r--r-- 1 root root 11399 feb 22 22:33 sresult.json

看起来所有者仍然是root用户,不知道为什么我要将用户1000传递给run命令。
有什么想法吗?

edqdpe6u

edqdpe6u1#

在这种情况下,您应该有一个绑定的卷到您的路径,您希望写入的文件与您的主机相同。
尝试添加Bind Mounts volumen flag

docker run -it -v $PWD:/app --workdir /app  -u $(id -u):$(id -g) ...

注意-v $PWD:/app和可选的--workdir /app,容器从/app位置开始。

相关问题