首页 > 解决方案 > Docker 无法找到文件,即使给出了正确的路径

问题描述

我正在运行一个很长的 docker 命令

docker exec -t -i 9f5865473027 cloudgene run imputationserver@1.4.1 --files /illumina/runs/con/chrX_impute/ALL.chrX.PAR2.phase3_v5.shapeit2_mvncall_integrated.noSingleton.genotypes.vcf.gz --refpanel apps@1000g-phase-3-v5@2.0.0 --conf /etc/hadoop/conf --population AFR --mode qconly --output /illumina/runs/con/chrX_impute

但这给出了一个错误

Error: Input Files (<a href="http://www.1000genomes.org/wiki/Analysis/Variant%20Call%20Format/vcf-variant-call-format-version-41" target="_blank">VCF</a>): file '/illumina/runs/con/chrX_impute/ALL.chrX.PAR2.phase3_v5.shapeit2_mvncall_integrated.noSingleton.genotypes.vcf.gz' not found.

为什么 docker 找不到带有绝对路径(即使是相对路径)的文件?我怎样才能让 docker 找到这个文件?

即使我这样做

docker exec -it 9f5865473027 ls /illumina/runs/con/chrX_impute/ALL.chrX.PAR2.phase3_v5.shapeit2_mvncall_integrated.noSingleton.genotypes.vcf.gz

我仍然得到ls: cannot access /illumina/runs/con/chrX_impute/ALL.chrX.PAR2.phase3_v5.shapeit2_mvncall_integrated.noSingleton.genotypes.vcf.gz: No such file or directory

当我这样做时,docker exec -it 9f5865473027 ls .它似乎在/或绝对顶级目录中,但是使用此信息并输入文件名而不是/这样docker exec -it 9f5865473027 ls illumina/runs/con/chrX_impute/ALL.chrX.PAR2.phase3_v5.shapeit2_mvncall_integrated.noSingleton.genotypes.vcf.gz

Docker 仍然无法找到该文件 :(

我可以通过 docker 看到更高ls的目录,但我所在的目录docker exec -it 9f5865473027 ls illumina/runs/con/chrX_impute神秘地显示为空(它不是)

标签: dockercentosvcf-variant-call-format

解决方案


解决这个问题的方法是将文件复制到容器中。每个“容器”似乎都像是一台单独的计算机。

我所要做的就是

docker cp ALL.chrX.PAR2.phase3_v5.shapeit2_mvncall_integrated.noSingleton.genotypes.vcf.gz 9f5865473027:/illumina/runs/con/chrX_impute/

然后文件显示为

docker exec -it 9f5865473027 ls illumina/runs/con/chrX_impute
ALL.chrX.PAR2.phase3_v5.shapeit2_mvncall_integrated.noSingleton.genotypes.vcf.gz

推荐阅读