Если у вас есть скрипт на обычном интерпретируемом языке, и его основная деятельность заключается в чтении или записи локальных файлов, лучший способ его запустить - это вообще не использовать Docker.
Вы можете использовать обычные инструменты упаковки Python для объявления зависимостей вашего скрипта (файл setup.py
или requirements.txt
). Несмотря на то, что вам нужно немного настроить, чтобы иметь возможность запускать скрипт, это чрезвычайно обычная процедура:
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
./the_script.py
По сравнению с решением на основе Docker, оно на самом деле не более сложное, чем типичный вызов docker run
; в отличие от Docker, большинство систем Linux и MacOS имеют предустановленный Python; и вам не нужно быть пользователем root или иметь права, эквивалентные root для запуска сценария. Вам также не нужно беспокоиться о механике совместного использования файлового содержимого с работающим контейнером или о неизбежных проблемах с разрешениями файловой системы, которые возникают из него.