0

我正在尝试在 Docker 中编译和运行 python 代码。

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"]

运行.sh

#! usr/bin/env bash
timeout --signal=SIGTERM --foreground 500 python3 main.py
exit $?

python代码(使用docker sdk for 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 app

print(container.logs())
4

0 回答 0