Найти - Пользователи
Полная версия: Работа с docker при помощи Python
Начало » Python для новичков » Работа с docker при помощи Python
1
Nicolas
Здравствуйте. Работаю с терминалом при помощи subprocess. Внутри Докера крутятся определённые процессы, в частности, mininet. Войти в мининет и работать уже в нем, выполняется командой docker attach mininet. К сожалению, это не порождение нового процесса, поэтому переключится в него полностью автоматически не получается (вручную если: docker attach mininet и ещё раз Enter и только тогда “проваливаемся” в мининет.).

Собственно вопрошаю знатоков: как перейти в процесс внутри докера и дальше выполнять посредством скрипта дальнейшие команды?
JOHN_16
я конечно сейчас очень сильно предположу попробовать на стандартный вход передать что то типа ‘\r\n’ или просто ‘\n’. В зависимости от того как работает дочерняя программа это либо сработает либо нет:)
p = subprocess.Popen(..., stdin=subprocess.PIPE, ... )
p.stdin.write('\n')
Nicolas
JOHN_16
я конечно сейчас очень сильно предположу попробовать на стандартный вход передать что то типа ‘\r\n’ или просто ‘\n’. В зависимости от того как работает дочерняя программа это либо сработает либо нет

Спасибо, я простые варианты пробовал в принципе. Такая конструкция приводит к ошибке: ValueError: I/O operation on closed file. В принципе через Пайп попытка работать и выполнить команду приводит к ошибке “cannot enable tty mode on non tty input”. А вот без изысков subprocess.call() работает без ошибок, но толку мало, так как нужно дополнительно вручную сигнал энтер посылать.
JOHN_16
А может попробовать с модулями типа docker-py работать?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB