本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

包含Python依赖管理工具Poetry的Docker镜像。
在容器内,可像常规命令行工具一样使用Poetry。
为减小镜像大小,建议使用多阶段构建,避免最终容器中包含Poetry。以下示例展示了如何在构建阶段将包安装到虚拟环境中,然后复制到运行阶段,以达到最小镜像大小。
# 允许传递Python和Poetry版本到构建过程 ARG PYTHON_VERSION="3.11" ARG POETRY_VERSION="1.2.2" # 构建阶段 FROM fabianemmi/python-poetry:${PYTHON_VERSION}-${POETRY_VERSION}-slim as builder # 复制包:理想情况下仅复制.py文件、poetry.lock和pyproject.toml ADD <package> /opt/<package> COPY poetry.lock pyproject.toml /opt/ WORKDIR /opt # 使用Poetry安装 RUN python -m venv /venv && \ . /venv/bin/activate && \ pip install --upgrade pip && \ poetry build && \ pip install /opt/dist/*.whl # 删除Python缓存文件 RUN find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf && \ cd /venv && \ find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -r # 运行阶段 FROM python:${PYTHON_VERSION}-alpine # 复制所需文件:虚拟环境 COPY --from=builder /venv /venv # 将venv添加到PATH变量,使已安装的包可用 ENV PATH=/venv/bin:$PATH
注意:
builder阶段复制/app/<package>。仅当需要执行项目的源代码文件时才需此操作。. /venv/bin/activate,可通过在最后阶段使用以下命令使其冗余:
ENV PATH=/venv/bin:$PATH
Docker容器内无需创建虚拟环境,因此已默认关闭(POETRY_VIRTUALENVS_CREATE=false)。
要在CI作业中正确缓存依赖项,需在流水线中启用虚拟环境创建。以下是GitLab Pipelines的示例:
variables: POETRY_CACHE_DIR: ${CI_PROJECT_DIR}/.venv PIP_CACHE_DIR: ${CI_PROJECT_DIR}/.cache/pip .poetry-cache: &poetry-cache cache: paths: - $POETRY_CACHE_DIR - $PIP_CACHE_DIR key: files: - poetry.lock - .gitlab-ci.yml prefix: ${CI_COMMIT_REF_SLUG}-${CI_JOB_NAME} .python-poetry: &python-poetry <<: *poetry-cache variables: POETRY_CACHE_DIR: ${POETRY_CACHE_DIR} image: fabianemmi/python-poetry:latest ... example job: <<: *python-poetry before_script: - export POETRY_VIRTUALENVS_CREATE=true - poetry config virtualenvs.in-project true - poetry install ... ...
本仓库由GitLab管理。欢迎提交合并请求。



免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429