Pip install [RuntimeError] при использовании сборки DockerPython

Программы на Python
Гость
Pip install [RuntimeError] при использовании сборки Docker

Сообщение Гость »


Я пытаюсь создать образ Docker приложения FastApi (я работаю на MacO, с версией Docker 2.2.0.3 и движком 19.03.5).

docker build --no-cache -t name:latest . Когда я создаю образ Docker, у меня возникает проблема с pip install. Когда я удаляю все вызовы pip, все работает.

Мой файл Docker:

# синтаксис=docker/dockerfile:1 ИЗ питона: 3.9 LABEL сопровождающий="X Y " КОПИРОВАТЬ ./приложение /приложение РАБОЧИЙ ПАРАМЕТР /приложение/ ENV VIRTUAL_ENV=/venv ЗАПУСК python3 -m venv $VIRTUAL_ENV ENV PATH="$VIRTUAL_ENV/bin:$PATH" # Установите зависимости: КОПИРУЙТЕ файл require.txt. # ЗАПУСК pip3 install --no-cache-dir pytest==7.4.2 #RUN pip install --upgrade pip ЗАПУСК python3 -m pip install -r ./requirements.txt КОПИРОВАТЬ ./start.sh /start.sh ВЫПОЛНИТЬ chmod +x /start.sh КОПИРОВАТЬ ./gunicorn_conf.py /gunicorn_conf.py КОПИРОВАТЬ ./start-reload.sh /start-reload.sh ВЫПОЛНИТЬ chmod +x /start-reload.sh КОПИРОВАТЬ ./приложение /приложение РАБОЧИЙ ПАРАМЕТР /приложение/ ENV PYTHONPATH=/приложение ЭКСПОЗИЦИЯ 8000 И ошибка:

(venv) alexpsq@MacBook-Pro-Alex backend % docker build --no-cache -t name:latest . &> build.log (venv) alexpsq@MacBook-Pro-Alex backend % cat build.log #2 [внутреннее] загрузить определение сборки из Dockerfile #2 передача файла docker: 37B выполнено #2 ГОТОВО 0,0 с. # 1 [внутренняя] загрузка .dockerignore #1 передача контекста: 34B выполнено #1 ГОТОВО 0,0 с. #3 разрешить конфигурацию образа для docker.io/docker/dockerfile:1 #3 ГОТОВО 1,9 с. #4 docker-image://docker.io/docker/dockerfile:1@sha256:XXX... #4 КЭШИРОВАНО #5 [внутреннее] загрузить определение сборки из Dockerfile. #5 передача файла docker: 37B выполнено #5 ГОТОВО 0,0 с. #6 [внутренний] загрузить метаданные для docker.io/library/python:3.9 #6 ГОТОВО 0,0 с. #7 [внутренняя] загрузка .dockerignore #7 ГОТОВО 0,0 с. #8 [1/13] ИЗ docker.io/library/python:3.9 #8 В КЭШЕ #9 [внутренний] загрузить контекст сборки #9 передача контекста: 1,26 КБ выполнено #9 ГОТОВО 0,0 с. #10 [ 2/13] КОПИРОВАТЬ ./app /app #10 ГОТОВО 0,0 с. # 11 [ 3/13] WORKDIR /приложение/ #11 ГОТОВО 0,0 с. #12 [4/13] ЗАПУСК python3 -m venv /venv #12 ГОТОВО 3,4 с. #13 [5/13] КОПИРОВАТЬ файл require.txt. #13 ГОТОВО 0,0 с. #14 [6/13] ЗАПУСТИТЬ python3 -m pip install -r ./requirements.txt #14 0.859 Сбор pytest==7.4.2 #14 1.192 Загрузка pytest-7.4.2-py3-none-any.whl (324 КБ) № 14 1.198 ОШИБКА: Исключение: #14 1.198 Обратная трассировка (последний вызов): #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", строка 160, в exc_logging_wrapper #14 1.198 status = run_func(*args) #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", строка 247, в оболочке #14 1.198 return func(self, options, args) # 14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/commands/install.py", строка 419, в работе #14 1.198 require_set = resolver.resolve( # 14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/resolve/resolvelib/resolver.py", строка 92, в разрешении #14 1.198 result = self._result = resolver.resolve( # 14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", строка 481, в разрешении # 14 1.198 состояние = разрешение.решение(требования, max_rounds=max_rounds) # 14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", строка 348, в разрешении #14 1.198 self._add_to_criteria(self.state.criteria, r, родительский=Нет) #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", строка 172, в _add_to_criteria № 14 1,198, если не критерий. Кандидаты: #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py", строка 151, в __bool__ #14 1.198 return bool(self._sequence) #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/resolve/resolvelib/found_candidates.py", строка 155, в __bool__ #14 1.198 вернуть любое(самое) #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/solve/resolvelib/found_candidates.py", строка 143, в #14 1.198 return (c для c в итераторе, если id(c) отсутствует в self._inсовместимых_ids) #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/resolve/resolvelib/found_candidates.py", строка 47, в _iter_built # 14 1.198 кандидат = func() #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/resolve/resolvelib/factory.py", строка 206, в _make_candidate_from_link #14 1.198 self._link_candidate_cache[ссылка] = LinkCandidate( #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/resolve/resolvelib/candidates.py", строка 297, в __init__ #14 1.198 super().__init__( #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/resolve/resolvelib/candidates.py", строка 162, в __init__ #14 1.198 self.dist = self._prepare() # 14 1.198 Файл «/venv/lib/python3.9/site-packages/pip/_internal/resolve/resolvelib/candidates.py», строка 231, в _prepare # 14 1.198 dist = self._prepare_distribution() #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/resolve/resolvelib/candidates.py", строка 308, в _prepare_distribution # 14 1.198 returnprepare_linked_requirement(self._ireq,parallel_builds=True) # 14 1.198 Файл «/venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py», строка 491, в файлеprepare_linked_requirement # 14 1.198 return self._prepare_linked_requirement(req,parallel_builds) #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", строка 536, в _prepare_linked_requirement #14 1.198 local_file = unpack_url( #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", строка 166, в unpack_url #14 1.198 file = get_http_url( #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", строка 107, в get_http_url #14 1.198 from_path, content_type = download(link, temp_dir.path) #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/network/download.py", строка 147, в __call__ #14 1.198 для кусков: #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py", строка 52, в _rich_progress_bar #14 1.198 с прогрессом: #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_vendor/rich/progress.py", строка 1169, в __enter__ #14 1.198 self.start() #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_vendor/rich/progress.py", строка 1160, в начале #14 1.198 self.live.start(refresh=True) #14 1.198 Файл "/venv/lib/python3.9/site-packages/pip/_vendor/rich/live.py", строка 132, в начале # 14 1.198 self._refresh_thread.start() #14 1.198 Файл "/usr/local/lib/python3.9/threading.py", строка 899, в начале #14 1.198 _start_new_thread(self._bootstrap, ()) # 14 1.198 RuntimeError: невозможно запустить новый поток № 14 1.490 #14 1.490 [уведомление] Доступна новая версия pip: 23.0.1 -> 23.2.1 #14 1.490 [уведомление] Чтобы обновить, запустите: pip install --upgrade pip # 14 ОШИБКА: не удалось запустить исполнителя [/bin/sh -c python3 -m pip install -r ./requirements.txt]: запуск не завершился успешно ------ > [6/13] ЗАПУСК python3 -m pip install -r ./requirements.txt: ------ не удалось решить с помощью внешнего интерфейса dockerfile.v0: не удалось решить с помощью внешнего шлюза.v0: ошибка rpc: код = Неизвестно desc = не удалось построить LLB: не удалось выполнить выполнение исполнителя [/bin/sh -c python3 -m pip install -r ./ требования.txt]: запуск runc не завершился успешно Спасибо за помощь!!!

Я пробовал разные способы установки pip:

# ЗАПУСК pip3 install --no-cache-dir pytest==7.4.2. # Ничего не работает # RUN pip install --upgrade pip # Ничего не работает ЗАПУСТИТЬ python3 -m pip install -r ./requirements.txt # Ничего не работает Я пытался установить один пакет, не получилось. Я попробовал заменить FROM python:3.9 на FROM python:3.9-slim, не помогло.

Также пробовал использовать аргументы и без них в следующем интерфейсе командной строки:

docker build --network=host -f Dockerfile --shm-size 10g --platform linux/amd64 --no-cache -t name:latest . Когда я удалил сборку с помощью:

экспортировать DOCKER_BUILDKIT=0 экспорт COMPOSE_DOCKER_CLI_BUILD=0 У меня та же проблема, за исключением:
[...] RuntimeError: невозможно начать новый поток [уведомление] Доступна новая версия pip: 23.0.1 -> 23.2.1. [примечание] Чтобы обновить, запустите: pip install --upgrade pip Команда '/bin/sh -c python3 -m pip install --no-cache-dir --upgrade pip' вернула ненулевой код: 2

Вернуться в «Python»