Скрипт Python в контейнере Docker Attach_Socket отправляется не в отдельной строке
Я пытаюсь скомпилировать и запустить код Python в Docker.
Dockerfile
FROM python:3
WORKDIR /app
USER root
ADD . .
RUN chmod a+x ./main.py
RUN chmod a+x ./run.sh
ENTRYPOINT ["sh","./run.sh"]
run.sh
#! usr/bin/env bash
timeout --signal=SIGTERM --foreground 500 python3 main.py
exit $?
код python (с использованием docker sdk для python):
client = docker.from_env()
client.images.build(path="./Dockerimagefolder/",tag="sample322")
container = client.containers.create(image="sample322", stdin_open = True)
container.start()
time.sleep(5)
s = container.attach_socket(params={'stdin': 1, 'stream': 1})
s.send('test'.encode())
журнал контейнера:
Begin script
Enter your nameyou entered
test
как вы можете видеть, «вы ввели» не отображается в следующей строке, вместо этого оно помещается в ту же строку, что и ввод. Он также не показывает ввод, который был отправлен, т.е.
test
Я также не могу получить вывод, журнал, который я показал выше, взят из приложения Docker.
print(container.logs())