我在 docker 容器中运行 python 脚本。根据传递的参数,我的脚本应该显示不同的信息。我想通过 docker run {my_image_name} {parameters}
传递这个参数命令,而不是 {parameters} 我想输入一些我的脚本期望接收的自定义值。找到了一些关于参数和环境变量的信息,但不明白。谁能解释如何解决我的问题?我应该在 dockerfile 中添加什么?
Dockerfile 内容:
FROM python:3.8.2-buster
WORKDIR /usr/src/app
COPY metrics.py .
RUN pip install --upgrade pip
RUN python -m pip install psutil
CMD python /usr/src/app/metrics.py
当我运行 docker run {my_image_name} {my_script_name} {parameter} 我得到:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"metrics.py\": executable file not found in $PATH": unknown.
我在 window 上工作。
最佳答案
您缺少 ENTRYPOINT
Docker 文件应该是这样的:
FROM python:3.8.2-buster
WORKDIR /usr/src/app
COPY metrics.py .
RUN pip install --upgrade pip
RUN python -m pip install psutil
ENTRYPOINT ["python"]
CMD ["/usr/src/app/metrics.py"]
关于python - 如何将参数传递给在 docker 容器内运行的 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60688834/