Docker 有 apscheduler 的图像根本没有 运行

Docker image having apscheduler does not run at all

我是 docker 的新手,请多多包涵。

我有一个app.py文件,它只是使用apscheduler在控制台上打印了一个句子。对于 python 文件,我遵循了 official guide 中的结构。当我 运行 我的控制台上的文件时,它 运行 如预期的那样。 (每 10 秒打印一次 Tick 语句。)

现在,我想docker调整它并将图像上传到docker集线器。我遵循了 docker 文档,这就是我的 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.pyrequirements.txt 在目录中处于同一级别。

|
|- app.py
|- requirements.txt

我使用以下命令构建 docker 图像:

docker build . -t app1:ver3

docker 图像构建成功并在我构建时显示

docker images

问题是,当我 运行 带有

的 docker 图像时
docker run app1:ver3

图像没有显示任何输出。

事实上,当我执行 docker ps 时,图像显示为所列 - 这是预期的,但 运行 命令应该每 10 秒在控制台上显示一次打印语句。

这里有两件事

您需要使用docker run -it app1:ver3

-i: Interactive mode
-t: Enable TTY

我相信 -t 也可以胜任。详情见下方link

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