我正在使用python库FEniCS,并使用Docker容器安装了它(图像为quay.io/fenicsproject/stable
)。
因此,现在,如果要运行使用FEniCS的Python脚本,则必须从此容器中运行它。
我使用PyCharm,并在此容器中将Python解释器设置为一个。
我的问题是我的程序在文件夹中输出了一些文件,但是通过PyCharm执行脚本时,文件和文件夹具有root权限(请参见heat_gaussian_a10
):
drwxrwxr-x 10 matthieu matthieu 4,0K août 21 13:36 .
drwxrwxr-x 13 matthieu matthieu 4,0K août 20 16:38 ..
-rw-rw-r-- 1 matthieu matthieu 7,6K août 20 13:48 demo_poisson.py
drwxrwxr-x 8 matthieu matthieu 4,0K août 21 13:56 .git
-rw-rw-r-- 1 matthieu matthieu 114 août 20 17:17 .gitignore
drwxr-xr-x 2 root root 4,0K août 21 13:35 heat_gaussian_a10
drwxr-xr-x 2 matthieu matthieu 4,0K août 21 10:31 heat_gaussian_a5
drwxr-xr-x 2 matthieu matthieu 4,0K août 21 10:33 heat_gaussian_a50
因此,除非使用sudo rm -r heat_gaussian_a10
,否则无法删除它们。
如何配置PyCharm以与root
以外的用户身份运行脚本?
其他文件夹heat_gaussian_a*
是通过在容器中手动运行python脚本创建的:
matthieu$ docker attach my_fenics_container
fenics@db841ff4cae4:~/shared$ python3 tutorial_heat_gaussian.py
那些获得正确的权限/所有者
我试图在“配置”设置中更改“ Docker容器设置”。
默认情况下,卷绑定为:
/home/matthieu/fenics_tutorials:/opt/project
容器中的主要用户称为fenics
,所以我将绑定更改为/home/matthieu/fenics_tutorials:/home/fenics/project
,因为我认为/opt/project
必须属于root
,而{{1} }必须属于/home/fenics/project
。结果是,文件仍然写为root ...