Docker-Python脚本输入错误

Kon*_*yri 4 python input eof docker

我是 Docker 新手。我有一个名为 ApiClient.py 的脚本。ApiClient.py 脚本要求用户输入一些数据,例如用户的电子邮件、密码、输入文件(脚本将在其中获取一些输入信息)和输出文件(将在其中输出结果)。我使用了这个 Dockerfile :

FROM python:3
WORKDIR /Users/username/Desktop/Dockerfiles
ADD . /Users/username/Desktop/Dockerfiles
RUN pip install --trusted-host pypi.python.org -r requirements.txt
EXPOSE 80
ENV NAME var_name
CMD ["python", "ApiClient.py"]
Run Code Online (Sandbox Code Playgroud)

第一个问题:我使用了这个 WORKDIR 和 ADD,因为那是输入和输出文件存在的地方。声明这些目录是错误的吗?

2n 问题:该脚本要求用户输入一些信息,例如电子邮件和密码。但是当我运行时:

docker run -p 4000:80 newapp
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: username = ("请输入您的用户名")

EOFError: 读取一行时出现EOF

为什么我会收到此错误?

小智 7

使用docker run -i -t <your-options>

所以这里,-i代表交互模式,-t将为我们分配一个伪终端。

在你的场景中会是

docker run -p 4000:80 -it newapp
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!