Я работаю над изображением django docker и хочу выполнить функцию с использованием командной строки. Я знаю, что могу войти в контейнер оболочки python docker и запустить такую функцию:
docker container ls
, чтобы найти идентификатор контейнера и использовать в следующей команде docker container exec -it <container_id> python3 manage.py shell
Тогда:
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
>>> from xx import foo
>>> foo() # foo() has been excecuted
Однако мне было интересно, я могу использовать что-то подобное, например python flag -c
, что поможет запустить небольшой фрагмент кода python в командной строке, например:
python3 -c "from xx import foo; foo()"
Я пытался вставить cmd с linux трубками: echo 'from xx import foo; foo()' | docker container exec -it <container_id> python3 manage.py shell
, однако это не работает.
Буду признателен за любые советы, спасибо за ваше время.