Починить docker compose build
Если согласно инструкции в файле README.md запустить:
docker compose pull --ignore-buildable
docker compose build
Получаем ошибку:
------
> [py-linters 5/5] RUN poetry install --no-ansi:
0.488 Traceback (most recent call last):
0.488 File "/usr/bin/poetry", line 5, in <module>
0.488 from poetry.console.application import main
0.488 File "/usr/lib/python3.11/site-packages/poetry/console/application.py", line 11, in <module>
0.488 from cleo.application import Application as BaseApplication
0.488 File "/usr/lib/python3.11/site-packages/cleo/application.py", line 12, in <module>
0.488 from cleo.commands.completions_command import CompletionsCommand
0.488 File "/usr/lib/python3.11/site-packages/cleo/commands/completions_command.py", line 8, in <module>
0.488 import subprocess
0.488 File "/usr/lib/python3.11/subprocess.py", line 119, in <module>
0.488 import selectors
0.488 File "/usr/lib/python3.11/selectors.py", line 11, in <module>
0.488 import math
0.488 ImportError: Error relocating /usr/lib/python3.11/lib-dynload/math.cpython-311-x86_64-linux-musl.so: _PyModule_Add: symbol not found
------
failed to solve: process "/bin/sh -c poetry install --no-ansi" did not complete successfully: exit code: 1
Ошибка исчезает, если заменить содержимое файла py-linters/Dockerfile на:
FROM docker.io/python:3.11.4
ARG BASE_DIR=/opt/linters
ENV \
# python
PYTHONUNBUFFERED=1 \
# prevents python creating .pyc files
PYTHONDONTWRITEBYTECODE=1 \
\
# poetry
POETRY_NO_INTERACTION=1 \
POETRY_VIRTUALENVS_CREATE=false \
\
# pip
PIP_NO_CACHE_DIR=off \
PIP_DISABLE_PIP_VERSION_CHECK=on \
PIP_DEFAULT_TIMEOUT=100
RUN curl -sSL https://install.python-poetry.org | POETRY_VERSION=1.5.1 python3 -
ENV PATH="/root/.local/bin:${PATH}"
WORKDIR ${BASE_DIR}
COPY ./pyproject.toml ./poetry.lock ./
RUN poetry install --no-ansi
Edited by Ефим Коршевер
