Как получить файлы, сгенерированные Docker, запустить на хосте

Я запустил Docker Run для создания файла

sudo docker run -i --mount type=bind,src=/home/mathed/Simulation/custom_desman/1/Strains/Simulation2/Assembly,target=/home/mathed/Simulation/custom_desman/1/Strains/Simulation2/Assembly 990210oliver/mycc.docker:v1 MyCC.py /home/mathed/Simulation/custom_desman/1/Strains/Simulation2/Assembly/final_contigs_c10K.fa

Это сообщение, которое я получил после выполнения.

20181029_0753
4mer
1_rename.py /home/mathed/Simulation/custom_desman/1/Strains/Simulation2/Assembly/final_contigs_c10K.fa 1000
Seqs >= 1000 : 32551
Minimum contig lengh for first stage clustering: 1236
run Prodigal.
/opt/prodigal.linux -i My.fa -a gene.aa -d gene.nuc -f gbk -o output -s potential_genes.txt
run fetchMG.
run UCLUST.
Get Feature.
2_GetFeatures_4mer.py for fisrt stage clustering
2_GetFeatures_4mer.py for second stage clustering
3_GetMatrix.py 1236 for fisrt stage clustering 
 22896 contigs entering first stage clustering
Clustering...
1_bhsne.py 20
2_ap.py /opt/ap 500 0
Cluster Correction.
to Split and Merge.
1_ClusterCorrection_Split.py 40 2
2_ClusterCorrection_Merge.py 40
Get contig by cluster.
20181029_0811

Теперь я хочу получить файлы, сгенерированные MyCC.py для размещения.
После чтения Копирование файлов из контейнера Docker на хост, я попытался,

sudo docker cp 642ef90103be:/opt /home/mathed/data

Но я получил сообщение об ошибке

mkdir /home/mathed/data/opt: permission denied

Есть ли способ получить файлы, сгенерированные в каталог /home/mathed/data?
Спасибо.

1 ответ

Решение

Я предполагаю, что твой путь пути не существует. Docker cp doc stats, который в этом случае:

SRC_PATH specifies a directory
    DEST_PATH does not exist
        DEST_PATH is created as a directory and the contents of the source directory are copied into this directory

Таким образом, он пытается создать каталог для DEST_PATH... и docker должен иметь права для этого. В соответствии с владельцем верхнего существующего каталога DEST_PATH, возможно, вам придется

  • сначала создайте каталог, чтобы Docker не создавал его, и предоставьте ему правильные права (похоже, у него нет на это прав), используя sudo chown {user}: {folder} + chmod + x {folder}
  • изменить права на родительский существующий каталог (сноваchown + chmod),
  • переключиться на путь, где разрешено писать докеру.
Другие вопросы по тегам