Ошибка установки pip брандмауэра Docker

#python #docker #pip #proxy

Вопрос:

Я пытался создать простой образ докера, однако я нахожусь за брандмауэром корпорации. Я перепробовал все описанные ниже шаги, но ничего не вышло.

ПОПРОБУЙТЕ 1: если у меня нет настройки прокси-сервера, кроме рабочего стола Docker — > Ресурсы — > > Настройки прокси-серверов с моим адресом и портом, и запустите

 docker build -t python-imdb .
 

Я понимаю это:

  => => # WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTi
 => => # meoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f71033cb730>, 'Connection to pypi.org timed out. (con
 => => # nect timeout=15)')': /simple/pyqt5/
 

4 раза, а затем он останавливается на том, что не удалось найти версию, удовлетворяющую требованию pyqt5

ПОПРОБУЙТЕ 2: Если у меня нет ничего настроенного для прокси, кроме настройки рабочего стола Docker -> Ресурсы ->> Прокси с моим адресом и портом, и запустите сборку docker-сборка-arg HTTP_PROXY=адрес:порт-сборка-arg HTTPS_PROXY=адрес:порт -t python-imdb .

Я понимаю это:

 #8 8.972 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f57bc6055e0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/pyqt5/
#8 8.985 ERROR: Could not find a version that satisfies the requirement pyqt5 (from versions: none)
#8 8.985 ERROR: No matching distribution found for pyqt5
 

ПОПРОБУЙТЕ 3:
Если у меня нет ничего настроенного для прокси, кроме настройки рабочего стола Docker -> Ресурсы ->> Прокси с моим адресом и портом, и запустите
сборку docker —build-arg HTTP_PROXY=адрес:порт-t python-imdb .

Я понимаю это:

  => => # WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTi
 => => # meoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f0d31f56100>, 'Connection to pypi.org timed out. (con
 => => # nect timeout=15)')': /simple/pyqt5/
 

Я понимаю это:

 #8 8.972 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f57bc6055e0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/pyqt5/
#8 8.985 ERROR: Could not find a version that satisfies the requirement pyqt5 (from versions: none)
#8 8.985 ERROR: No matching distribution found for pyqt5
 

ПОПРОБУЙТЕ 4:
После обновления файла docker до этого:
итак, мой файл Docker содержит:

 FROM python:3.9

ENV HTTP_PROXY = "address:port"

ENV HTTPS_PROXY = "address:port"

ADD main.py .

RUN pip install pyqt5

CMD ["python", "./main.py"]
 

и запускаем сборку докера-t python-imdb .

Я получаю:

 #7 8.965 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f787844faf0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/pyqt5/
#7 8.986 ERROR: Could not find a version that satisfies the requirement pyqt5 (from versions: none)
#7 8.986 ERROR: No matching distribution found for pyqt5
 

Ответ №1:

Если прокси-сервер правильно настроен на вашем компьютере, он должен работать с :

 docker build --network=host -t python-imdb .
 

Если это не работает, используйте cntlm или px для аутентификации на прокси-сервере.

Комментарии:

1. Я пробовал —network=host в своей сборке, но получаю ту же ошибку. Как я могу проверить, правильно ли настроен прокси-сервер на моем компьютере? Единственные настройки прокси-сервера, которые я настроил, находятся внутри рабочего стола Docker — > Ресурсы ->> Прокси

2. @ElgizAbbasov работает ли установка pip на вашем компьютере ? Я предполагаю, что вам нужно пройти аутентификацию на прокси-сервере, используя cntlm или px.

3. да, это работает, если я поставлю —proxy 127.0.0.1:portno в качестве дополнительного аргумента при установке pip. Я пробовал различные методы, но я всегда получаю ошибку прокси