Я пробую к dockerize свой сценарий Python, который называют QC.py
. чтобы сделать так, я сделал a Dockerfile
который похож на это:
FROM python:3
ADD qc.py /
RUN pip install numpy
RUN pip install sklearn
CMD [ "python", "./qc.py" ]
Я создал изображение с помощью этой команды:
docker build -t qc .
и затем выполненный это с помощью этой команды:
docker run qc
не используя докера сценарий работает отлично (я вижу процесс, и в конце он возвращается, "он сделан", это - то, что я добавил, чтобы удостовериться, что сценарий работает), и вывод - некоторые pdf
файлы. когда я использую докера, использующего упомянутую команду и Dockerfile
, тем не менее это работает, и я вижу процесс, но я не вижу файлы PDF. Я думаю, что они находятся в контейнерной файловой системе. Вы знаете, как получить доступ к файлам PDF?
Сценарий Python, выполняются в контейнере докера, и это также, где вывод Вашего сценария расположен.
Dockerfile корректен, относительно установки необходимой среды (numpy, sklearn). Поместите сценарий в отдельный каталог, например. qc
избегать коллизий с контейнерной файловой системой.
FROM python:3
ADD qc.py /qc/
RUN pip install numpy
RUN pip install sklearn
CMD [ "python", "./qc/qc.py" ]
docker build -t qc .
Выполните контейнер и смонтируйте a output
папка в контейнере:
docker run -it -v "$(pwd)":/qc/output qc
Команда выполнения монтирует текущий каталог к /qc/output
папка в контейнере. qc.py
потребности, которые будут изменены для размещения его вывода в output
папка.
Затем вывод сценария помещается в локальной папке.