Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 25, 2016 18:06:07

Nicolas
Зарегистрирован: 2015-12-01
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с docker при помощи Python

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

Собственно вопрошаю знатоков: как перейти в процесс внутри докера и дальше выполнять посредством скрипта дальнейшие команды?

Офлайн

#2 Янв. 25, 2016 23:13:56

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Работа с docker при помощи Python

я конечно сейчас очень сильно предположу попробовать на стандартный вход передать что то типа ‘\r\n’ или просто ‘\n’. В зависимости от того как работает дочерняя программа это либо сработает либо нет:)

p = subprocess.Popen(..., stdin=subprocess.PIPE, ... )
p.stdin.write('\n')



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Янв. 26, 2016 09:13:59

Nicolas
Зарегистрирован: 2015-12-01
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с docker при помощи Python

JOHN_16
я конечно сейчас очень сильно предположу попробовать на стандартный вход передать что то типа ‘\r\n’ или просто ‘\n’. В зависимости от того как работает дочерняя программа это либо сработает либо нет

Спасибо, я простые варианты пробовал в принципе. Такая конструкция приводит к ошибке: ValueError: I/O operation on closed file. В принципе через Пайп попытка работать и выполнить команду приводит к ошибке “cannot enable tty mode on non tty input”. А вот без изысков subprocess.call() работает без ошибок, но толку мало, так как нужно дополнительно вручную сигнал энтер посылать.

Офлайн

#4 Янв. 27, 2016 07:27:19

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Работа с docker при помощи Python

А может попробовать с модулями типа docker-py работать?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version