У меня ошибка при создании Docker изображения. У меня не было этой ошибки до нескольких дней go, и я действительно не помню, чтобы менялся Dockerfile, поэтому я не знаю, что случилось. Кроме того, я использую Poetry, выполняя в Dockerfile следующие команды (следующие за этим Интеграция Python Поэзия с Docker post):
source $HOME/.poetry/env && poetry export -f requirements.txt | /venv/bin/pip install -r /dev/stdin
source $HOME/.poetry/env && poetry build && /venv/bin/pip install dist/*.whl
Я пытался повторить те же шаги вручную в Docker контейнере, и я столкнулся с той же ошибкой.
Всякий раз, когда я запускаю «Стихотворение» или «Стихотворение», я получаю эту ошибку:
[OSError]
[Errno 8] Exec format error: '/app/.venv/bin/python'
Я надеваю Я действительно не знаю, на что смотреть, поэтому я даже не знаю, какой информацией поделиться с вами здесь. Дайте мне знать.
Спасибо
Dockerfile (я обрезал его по строке, вызывающей cra * sh):
FROM python:3.7.4-slim-stretch AS builder
RUN apt-get update -qq && \
apt-get install -y --no-install-recommends \
build-essential \
curl \
git
ARG MY_ENV
ARG DOCKER_HOST
ENV MY_ENV=${MY_ENV} \
PYTHONFAULTHANDLER=1 \
PYTHONUNBUFFERED=1 \
PYTHONHASHSEED=random \
PIP_NO_CACHE_DIR=on \
PIP_DISABLE_PIP_VERSION_CHECK=on \
PIP_DEFAULT_TIMEOUT=100 \
POETRY_VERSION=1.0.0
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python /dev/stdin --version $POETRY_VERSION
RUN python -m venv /venv
RUN mkdir app
WORKDIR ./app
COPY pyproject.toml poetry.lock ./
RUN /bin/bash -c "source $HOME/.poetry/env && poetry export -f requirements.txt | /venv/bin/pip install -r /dev/stdin"
COPY . .
RUN /bin/bash -c "source $HOME/.poetry/env && poetry build && /venv/bin/pip install dist/*.whl"
pyproject.toml
[tool.poetry]
name = "cuppa-seeder"
version = "0.1.0"
description = "Python backend for the census app"
authors = ["xxxx <xxxo@xxx.xxx>"]
[tool.poetry.dependencies]
python = "~3.7.4"
requests = "^2.23.0"
psycopg2-binary = "^2.8.4"
[tool.poetry.dev-dependencies]
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"