poetry-dockerize-plugin:将Poetry应用打包到Docker镜像


简化从Poetry项目开始的 docker 镜像的创建。主要目标是轻松创建 docker 镜像,并且需要零配置。

主要功能

  • 从 Poetry 应用程序自动生成 docker 映像。
  • 高度可配置。你可以通过在 pyproject.toml 配置文件中添加一个部分来配置镜像。

安装
为了安装该插件,您需要安装Poetry版本>=1.2.0并输入:

poetry self add poetry-dockerize-plugin

快速开始
无需配置!只需输入:

poetry dockerize
>Building image: poetry-sample-app:latest
>Successfully built image: poetry-sample-app:latest
docker run --rm -it poetry-sample-app:latest
>hello world!

要自定义某些选项,可以在 pyproject.toml 文件中添加 [tool.dockerize] 部分。例如,更改图像名称:

[tool.dockerize]
name = "myself/myproject-app"

配置 API 参考
本示例展示了对 docker 镜像的完整配置:

[tool.docker]
name = "alternative-image-name"
tags = [
"latest-dev"]
entrypoint = [
"python", "-m", "whatever"]
python =
"3.8"
ports = [5000]
env = {
"MY_APP_ENV" = "dev"}
labels = {
"MY_APP_LABEL" = "dev"}

  • name 自定义 docker 镜像的名称。
  • tags 为镜像声明一个标签列表。
  • entrypoint 自定义镜像的入口点。如果没有提供,将从包配置中获取默认入口点。
  • python 要使用的 python 版本。默认为 3.11
  • ports 公开端口
  • env 在 docker 镜像中声明环境变量。
  • labels 在 docker 镜像中添加标签。默认标签是按照 opencontainers 规范添加的。