我试图通过 docker 容器上的 snakefile 执行 R 脚本。它停止了 PermissionError 指出该行调用 R 脚本。这是消息:
RuleException:
PermissionError in line 336 of /PATH/my_snakefile.smk:
[Errno 13] Permission denied: '/PATH/my_script.R'
Will exit after finishing currently running jobs.
Exiting because a job execution failed. Look above for error message
Complete log: .snakemake/875284.snakemake.log
Dockerfile:
FROM cbuatmbc/project
COPY . /PATH/my_project
RUN chmod -R 2775 /PATH/my_project
RUN conda upgrade -n base conda
RUN conda env create -f /PATH/condafiles/my_project_ymlfile.yml
ENV PATH="/PATH/bin:/PATH/bin:$PATH" \
PERL5LIB="/PATH/lib/perl:$PERL5LIB" \
PERL_CPANM_HOME="/PATH/builds/perl5" \
PERL_CPANM_OPT="-l /PATH/local --no-man-pages --save-dists=/PATH /PATH/local/src/perl5" \
PYTHONPATH="/PATH/local/lib/python:$PYTHONPATH" \
R_PROFILE_USER="/PATH/my_project/.Rprofile" \
CONDA_DEFAULT_ENV="my_project" \
CONDA_PREFIX="/PATH/my_project"
WORKDIR /PATH/my_project/dataset
ENTRYPOINT ["/PATH/local/dockerfiles/docker-entrypoint.sh"]
CMD ["snakemake --dag | dot -Tsvg > dag.svg"]
虽然在交互模式下我可以通过 r base 运行代码,但由于提到的错误,我无法使用 docker run
运行它。