У меня есть простой код python, который я хочу запустить внутри контейнера docker.
print("Starting")
while True:
stdin = input()
print('read: ', stdin)
if stdin == 'end':
break
print("Closing")
Контейнер docker - это экземпляр изображения, содержащего скрипт. Dockerfile:
FROM continuumio/anaconda3
ADD script.py /
CMD [ "python", "/script.py" ]
Когда я запускаю
docker run -i myimage
Все работает как положено. У меня есть доступ к стандартному вводу, и я могу общаться со скриптом.
Я хотел бы воспроизвести это поведение в python с помощью dockerpy или Popen.
Я думал, что что-то вроде этого сработает , но не
p = Popen(['docker', 'run', '-i', '-d', 'myimage'], stdout=PIPE, stdin=PIPE, stderr=PIPE)
p.stdin.write("Hello world!")
p.stdin.write("end")