Вот такая ситуация. я использую Докер с изображением континуума / анаконды3. У меня есть сервер (Ubuntu 16.04 LTS), настроенный на использование корпоративный прокси с пакетом CNTLM. Интернет работает нормально на хосте через локальный прокси.
Я также модифицировал cntlm.conf для прослушивания виртуального сетевого интерфейса Docker (docker0) на 172.17.0.1.
Docker также правильно настроен, и я могу без проблем извлекать изображения. После развертывания контейнера с образом Anaconda и настройки контейнера для использования прокси-сервера хоста путем экспорта переменных env http_proxy="http://172.17.0.1:3128"
и так далее, я могу использовать wget
и curl
скачивать.
Проблема возникает с conda
. Я следую документации, и я также экспортировал HTTP_PROXY
и HTTPS_PROXY
переменные. Это не работает. Затем я создал .condarc
файл в /root
каталог с:
proxy_servers:
https: localhost:3128
http: localhost:3128
Также пробовал ssl_verify: False
.
Кажется, ничего не работает. Я всегда получаю такую ошибку:
CondaHTTPError: HTTP None None for url <https://repo.continuum.io/pkgs/free/linux-64/repodata.json.bz2>
Elapsed: None
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
ProxyError(MaxRetryError("HTTPSConnectionPool(host='repo.continuum.io', port=443): Max retries exceeded with url: /pkgs/free/linux-64/repodata.json.bz2 (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd88e1d1240>: Failed to establish a new connection: [Errno 111] Connection refused',)))",),)
Попробуйте создать в Dockerfile эти вары:
ENV http_proxy="x.x.x.x:xxxx"
ENV https_proxy="x.x.x.x:xxxx"
Этот x.x.x.x не 127.0.0.1. Этот IP-адрес должен быть стандартным IP-адресом локальной сети прокси-сервера cntlm.