等价于 Docker 用于服务 Flask 应用程序的 CMD

Equivalent Docker CMD for serving Flask application

我想知道如何在 Dockerfile 的 CMD 命令中正确使用多个参数。我正在使用此命令 运行 我的服务器 :-

waitress-serve --port=9198 "final_1:app"

我应该使用这个吗:-

EXPOSE 9198
CMD ["waitress-serve", "final_1:app"]

告诉我。谢谢!

要设置图像的启动点,您可以按照 Best practices for writing Dockerfiles

中所述使用 ENTRYPOINTCMD 指令

ENTRYPOINT 中设置应用程序的路径,在 CMD 中设置此应用程序的命令。

EXPOSE 用于告诉 docker 您的容器公开哪些端口供您使用 --publish

因此,在您的情况下:

EXPOSE 9198
ENTRYPOINT ["waitress-serve"]
CMD ["--port=9198", "final_1:app"]

并在您的命令行中 运行 容器,不要忘记将 --publish 9198:9198 添加到 link 暴露的容器端口到主机端口。

值得注意的是,此答​​案是对此处查看的 docker 概念的简化,请参阅文档以了解有关这些说明用途的更多信息。