Как передать аргументы скрипту python, который выполняется внутри контейнера docker? - PullRequest
1 голос
/ 15 марта 2020

Я запускаю python скрипт внутри docker контейнера. В зависимости от переданных параметров мой скрипт должен отображать различную информацию. Я хочу передать этот параметр через команду docker run {my_image_name} {parameters}, где вместо {параметры} я хочу ввести некоторые пользовательские значения, которые мой скрипт ожидает получить. Нашел информацию об аргументах и ​​переменных env, но не понял этого. Кто-нибудь может объяснить, как это решить мою проблему? Что я должен добавить в 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 Запустите {my_image_name} {my_script_name} {параметр} я получаю:

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.

Я работаю на windows .

1 Ответ

0 голосов
/ 15 марта 2020

Вам не хватает 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"]
...