[英]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.