[英]Poetry not found with docker
我正在尝试用诗歌构建最简单的 docker 图像。
FROM python:3.9-slim-buster
ARG APP_PATH=/app
ARG PYTHON_VERSION=3.9
ARG POETRY_VERSION=1.1.13
ARG POETRY_HOME="/opt/poetry"
ENV PYTHONDONTWRITEBYTECODE 1 \
PYTHONUNBUFFERED 1 \
POETRY_VERSION=$POETRY_VERSION \
POETRY_VIRTUALENVS_IN_PROJECT=true \
POETRY_NO_INTERACTION=1\
POETRY_HOME=${POETRY_HOME}
ENV PATH="$POETRY_HOME/bin:$PATH"
RUN apt-get update \
&& apt-get install curl -y \
&& curl -sSL https://install.python-poetry.org | python - --version ${POETRY_VERSION}
WORKDIR $APP_PATH
COPY pyproject.toml poetry.lock $APP_PATH
RUN poetry config virtualenvs.create false \
&& poetry install --no-dev --no-interaction --no-ansi
CMD ["poetry" "-V"]
泊坞窗图像构建良好。
但是当我尝试运行它时,它失败了
λ docker run test
/bin/sh: 1: [poetry: not found
我不确定我在这里做错了什么。
但这一个有效
docker run -it test /opt/poetry/bin/poetry -V
Poetry version 1.1.13
修改 Dockerfile 看起来像这样
ENTRYPOINT [ "poetry" ]
CMD ["-V"]
和中提琴它有效!
为了访问我的 Docker 构建文件中的poetry
,我总是在镜像构建的开头添加以下行:
FROM --platform=linux/amd64 python:3.9-slim
# use built-in pip to access poetry
RUN pip install poetry
# start installing things with poetry
COPY poetry.lock pyproject.toml .
RUN poetry config virtualenvs.create false
RUN poetry install
这对您的用例不一样吗? 在我看来,这似乎是从容器中获取诗歌的最直接方式?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.