FileNotFoundException (В доступе отказано) с Nextflow и Docker - PullRequest
0 голосов
/ 17 января 2020

Я использую конвейер Nextflow, который запускает каждый процесс в отдельном контейнере Docker. Я запускаю этот конвейер внутри виртуальной машины. Хотя некоторые процессы работают нормально, в одном из них я получаю сообщение об ошибке:

java.io.FileNotFoundException: file_fastqc.zip (Permission denied)
Approxat java.base/java.io.FileOutputStream.open0(Native Method)
Approxat java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
Approxat java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
Failedat java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
java.iat uk.ac.babraham.FastQC.Report.HTMLReportArchive.<init>(HTMLReportArchive.java:80)
  at uk.ac.babraham.FastQC.Analysis.OfflineRunner.analysisComplete(OfflineRunner.java:178)
  at uk.ac.babraham.FastQC.Analysis.AnalysisRunner.run(AnalysisRunner.java:110)
  at java.base/java.lang.Thread.run(Thread.java:834)

Контейнер docker, который я использую в этом процессе, - это biocontainers / fastq c: v0.11.8dfsg -2-deb_cv1

Я запускаю nextflow как sudo, и я пытался изменить права доступа к папке выполнения, но ошибка сохраняется.

Я также пытался использовать опцию docker .fixOwnership = true в Nextflow и появляется похожая ошибка

cannot touch '.command.trace': Permission denied

Запуск того же конвейера на моем персональном компьютере с тем же контейнером Docker и версиями Nextflow (19.10) и Java (11), и он отлично работает хорошо.

Любая помощь в том, как решить эту проблему, будет очень признателен.

1 Ответ

0 голосов
/ 28 января 2020

Решение, которое работало для меня, состояло в том, чтобы разрешить использование Docker как пользователя, не являющегося root, как описано в документации Docker: docs. docker .com / install / linux / linux -postinstall

...