我是 docker 世界的新手。我尝试将我的脚本放入 docker 中,如果直接在命令提示符中运行,我的脚本将采用输入参数 - 我的脚本中有两个变量使用 input("enter the input here")
论证。
当我直接通过 cmd python scripts.py
尝试我的脚本时它运行良好,但我尝试使用 docker-compose 对我的脚本进行 dockerize,但它引发了
bigquery_1 | Enter input: Traceback (most recent call last):
bigquery_1 | File "./scripts/bq.py", line 6, in <module>
bigquery_1 | default_filterDate_1 = (str(input(" Enter input: ")) or `some default arguments`)
bigquery_1 | EOFError: EOF when reading a line
bigquery_1 exited with code 1
这就是我的 Dockerfile 的样子:
FROM python:3.7
WORKDIR /usr/src/app
COPY ./code /usr/src/app/
RUN pip3 install -r ./requirements.txt
这是 docker-compose.yml
version: '3.8'
services:
bigquery:
build: ./
command: python ./scripts/bq.py
是否有关于如何使用 docker 传递输入变量的解决方法?
最佳答案
来自类似的问题:https://stackoverflow.com/a/39150040/13731995 。基本上,您需要将 tty
和 stdin_open
添加到您的 docker compose 文件中。
version: '3.8'
services:
bigquery:
build: ./
tty: true
stdin_open: true
command: python ./scripts/bq.py
关于python - Docker-组合输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68436373/