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