Есть ли недостатки у запуска экспериментальных функций Docker?

Как хакерский bashскрипт:

#!/bin/bash
while IFS= read -r file; do
  newprefix=${file%%_Data*}
  if [ "$prefix" != "$newprefix" ]; then
    cnt=1
    prefix=$newprefix
  fi
  newfile=$(echo "$file" | sed "s/[0-9]*\(_Image.txt\)/$cnt\1/")
  echo mv "$file" "$newfile"
  ((cnt++))
done < <(find. -maxdepth 1 -type f -name '*.txt' | sort -nt_ -k2,2 -k7,7)

Выход:

$./script.sh
mv./FoilHole_6862563_Data_6834945_6834947_20190608_255634_Image.txt./FoilHole_6862563_Data_6834945_6834947_20190608_1_Image.txt
mv./FoilHole_6862563_Data_6834952_6834954_20190608_255710_Image.txt./FoilHole_6862563_Data_6834952_6834954_20190608_2_Image.txt
mv./FoilHole_6862563_Data_6834959_6834961_20190608_255748_Image.txt./FoilHole_6862563_Data_6834959_6834961_20190608_3_Image.txt
mv./FoilHole_6862563_Data_6834935_6834937_20190608_255827_Image.txt./FoilHole_6862563_Data_6834935_6834937_20190608_4_Image.txt
mv./FoilHole_6862563_Data_6834967_6834969_20190608_255906_Image.txt./FoilHole_6862563_Data_6834967_6834969_20190608_5_Image.txt
mv./FoilHole_6862568_Data_6834945_6834947_20190608_060123_Image.txt./FoilHole_6862568_Data_6834945_6834947_20190608_1_Image.txt
mv./FoilHole_6862568_Data_6834952_6834954_20190608_060159_Image.txt./FoilHole_6862568_Data_6834952_6834954_20190608_2_Image.txt
mv./FoilHole_6862568_Data_6834959_6834961_20190608_360237_Image.txt./FoilHole_6862568_Data_6834959_6834961_20190608_3_Image.txt
mv./FoilHole_6862568_Data_6834935_6834937_20190608_460316_Image.txt./FoilHole_6862568_Data_6834935_6834937_20190608_4_Image.txt
mv./FoilHole_6862568_Data_6834967_6834969_20190608_560354_Image.txt./FoilHole_6862568_Data_6834967_6834969_20190608_5_Image.txt

Переменная-счетчик cntсбрасывается на 1при каждом изменении префикса имени файла, например. когда ./FoilHole_6862563изменится на ./FoilHole_6862568. Чтобы действительно переименовать файлы, вы должны удалить echoв скрипте.

1
17.05.2021, 11:21
1 ответ

См. описание экспериментальных функций Docker :

.

Experimental features are not ready for production. They are provided for test and evaluation in your sandbox environments.

Это подтверждает ваше подозрение, не объясняя его толком. Как правило, экспериментальные функции помечаются как таковые по крайней мере по одной из следующих причин:

  • они не завершены;
  • они не полностью протестированы (другими словами, они глючат );
  • их пользовательский интерфейс не доработан;
  • их полезность все еще оценивается.

Даже при условии хорошо -проверенных экспериментальных функций причина, по которой на них не следует полагаться в производстве, состоит в том, что нет абсолютно никакой гарантии, что они останутся такими -в будущих версиях. Это означает, что если вы в конечном итоге полагаетесь на них, вы можете оказаться в ситуации, когда, например, вам нужно выполнить обновление до более новой версии (, чтобы исправить проблемы с безопасностью ), но эта версия изменяет экспериментальная особенность обратно -несовместимым образом,или даже совсем отбрасывает.

1
28.07.2021, 11:32

Теги

Похожие вопросы