Образ Docker, имеющий apscheduler, вообще не запускается - PullRequest
0 голосов
/ 20 июня 2019

Я новичок в докере, так что потерпите меня на этом.

У меня есть файл app.py, который просто использует apscheduler для печати предложения на консоли. Я следовал структуре из официального руководства для файла python. Когда я запускаю файл на моей консоли, он работает как положено. (печатает оператор Tick каждые 10 секунд.)

Теперь я хочу докеризировать его и загрузить изображение в dockerhub. Я следовал документации докера, и вот как выглядит мой DockerFile:

FROM python:3
COPY requirements.txt .
COPY app.py .
RUN pip install --trusted-host pypi.python.org -r requirements.txt
CMD [ "python", "app.py" ]

Я перечислил имена модулей в requirements.txt, как показано ниже:

datetime
apscheduler

Папка плоская. app.py и requirements.txt находятся на одном уровне в каталоге.

|
|- app.py
|- requirements.txt

Я использую приведенные ниже команды для создания образа Docker:

docker build . -t app1:ver3

Образ докера успешно создается и появляется, когда я

docker images

Проблема в том, что когда я запускаю образ докера с

docker run app1:ver3

изображение не показывает никакого вывода.

На самом деле изображение отображается в списке, когда я выполняю docker ps - что ожидается, но команда run должна показывать мне операторы печати на консоли каждые 10 секунд.

1 Ответ

1 голос
/ 21 июня 2019

Здесь есть две вещи

Вам нужно использовать docker run -it app1:ver3

-i: Interactive mode
-t: Enable TTY

Я считаю, что только -t также может выполнять эту работу.Для получения подробной информации см. Ссылку ниже

https://docs.docker.com/engine/reference/run/

...