Как получить файлы, сгенерированные Docker, запустить на хосте - PullRequest
0 голосов
/ 29 октября 2018

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

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 Ответ

0 голосов
/ 29 октября 2018

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

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 снова),
  • переключиться на путь, по которому докеру разрешено писать.
...