Я создаю скрипт-обертку для выполнения моих программ на Python.Логика выглядит так:
- Я установлю все необходимые модули в док-контейнер
- Вытащите контейнер и запустите скрипт, чтобы любой мог запустить мои скрипты, не беспокоясь о зависимых модулях
- Я создал скрипт-обертку, который будет вызываться для выполнения желаемой программы.
Это мой скрипт-обёртка:
import os
import sys
import argparse
parse = argparse.ArgumentParser()
parse.add_argument('command', help="give datacenter name")
parse.add_argument('args', nargs=argparse.REMAINDER)
parse_arguments = parse.parse_args()
'''
Co-relate to the command and corresponding scripts to trigger
'''
scripts = {
'verify' : '/path/verify.py'
}
if __name__ == '__main__':
if parse_arguments.command not in scripts:
print('These are the available scripts to run:')
print('\n'.join(sorted(scripts.keys())))
else:
os.execv(scripts.get(parse_arguments.command),
[scripts.get(parse_arguments.command)] + parse_arguments.args) .
Я запускаю это как,
$ docker run -it --rm --net host run-script verify --listenv tpc1
Traceback (most recent call last):
File "/path/runme.py", line 28, in <module>
os.execv(scripts.get(parse_arguments.command),
[scripts.get(parse_arguments.command)] + parse_arguments.args)
FileNotFoundError: [Errno 2] No such file or directory
Мой образ Docker является run-script
Если я запускаю тот же код с локального компьютера, он работает.но внутри контейнера он показывает, что этот файл не находит ошибку.
Может кто-нибудь помочь мне в этом?