簡體   English   中英

docker找不到詩歌

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM