Я запускаю приложение Django внутри контейнера Docker. Я вызываю сценарий оболочки для выполнения некоторых задач (я вызываю этот сценарий оболочки, используя функцию python, а не команду docker). Он работает нормально, когда я запускаю его без контейнера. И файл оболочки, и двоичные файлы находятся в одном каталоге.
Ниже приведен сценарий продажи
#!/bin/bash
GENOME_DIRECTORY=$1
OUTPUT_DIRECTORY=$2
dir=/usr/src/app/dsk/bin/
for file in "$dir/"*
do
[[ -d "$file" ]] && echo "$file is a directory"
[[ -f "$file" ]] && echo "$file is a regular file"
done
for file in ${GENOME_DIRECTORY}/*.fna; do
fileName="$(basename -- $file)"
specieName="${fileName%.*}"
outputH5Name=${specieName}"_output"
outputKmerSpecieName=${specieName}"_kmer_output"
echo ${fileName} " Kmer Counting Started "
# Change max-memory and kmer-size parameters accordingly
./dsk -nb-cores 1 -max-memory 300 -file ${GENOME_DIRECTORY}/${fileName} -kmer-size 11 -out ${OUTPUT_DIRECTORY}/${outputH5Name}
./dsk2ascii -file ${OUTPUT_DIRECTORY}/${outputH5Name} -out ${OUTPUT_DIRECTORY}/${outputKmerSpecieName}
echo ${fileName} " Kmer counting finished "
done
for file1 in ${OUTPUT_DIRECTORY}*.h5; do
echo ${file1} " Deleted "
rm -f ${file1}
done
exit 1
Out put
b'/usr/src/app/dsk/bin//__pycache__ is a directory\n/usr/src/app/dsk/bin//dsk is a regular file\n/usr/src/app/dsk/bin//dsk2ascii is a regular file\n/usr/src/app/dsk/bin//h5cc is a regular file\n/usr/src/app/dsk/bin//kmer.sh is a regular file\n/usr/src/app/dsk/bin//kp.py is a regular file\ncoriobacterium.fna Kmer Counting Started \ndsk/bin/kmer.sh:
line 22: ./dsk: No such file or directory\ndsk/bin/kmer.sh:
line 23: ./dsk2ascii: No such file or directory\ncoriobacterium.fna Kmer counting finished \n/usr/src/app/storage/59/DSK_RESULTS/*.h5 Deleted \n'
Ошибка:
line 22: ./dsk: No such file or directory
line 23: ./dsk2ascii: No such file or directory
Рабочий каталог - / usr / src / app /
Я также попытался изменить эти строки на
./usr/src/app/dsk/bin/dsk
./dsk/bin/dsk
Каждый раз, когда появляется тот же тип ошибки, что и результат