繁体   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