我们假设这个诗歌 toml 文件
[tool.poetry]
name = "azurecli"
version = "0.1.0"
description = "Install Azure CLI"
[tool.poetry.dependencies]
python = "^3.12"
azure-cli = "2.67.0"
poetry.lock 文件是通过运行
poetry lock --no-update
生成的,并通过 dockerfiles 执行以在基于 alpine 的 docker 映像中安装 az cli,Dockerfile 中的简单行:
FROM python:3.12.8-alpine3.21
COPY ./pyproject.toml /
COPY ./poetry.lock /
RUN cd / \
&& curl -sSL https://install.python-poetry.org | python - \
&& poetry install
ENV PATH="/root/.local/bin:${PATH}"
RUN az --version
运行 docker build 命令后,
poetry install
的日志确实显示 azure-cli 与组件一起安装,并且失败并显示“az 命令未找到”,检查时,在 /root/ 下甚至没有找到任何文件.local/bin.
与运行
pip install azure-cli
相比,这确实安装了二进制文件并且 az 命令已解决。我们如何用诗歌来表达?
没关系——这个有帮助 应该正确地谷歌搜索很多。
https://medium.com/opsops/using-poetry-within-docker-container-without-venv-f8f07c9deba3