установка пипа не работает внутри контейнера docker - PullRequest
3 голосов
/ 02 мая 2020

Я создал небольшой проект в flask и пытаюсь развернуть его, используя docker. Для этого я создал свой Dockerfile, который выглядит следующим образом:

FROM python:3.6-stretch

# Set the working directory to /app
WORKDIR /app

# Copy the current directory contents into the container at /app 
ADD . /app

# Install the dependencies
RUN pip install --user -r requirements.txt

# run the command to start uWSGI
CMD ["uwsgi", "app.ini"]

В моем файле needs.txt содержится следующее:

#click==7.1.1
Flask==1.1.2
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
uWSGI==2.0.18
Werkzeug==1.0.1

Я пытался построить свой проект, используя docker - сборка с параметром --network = host, а также с использованием docker -compose, но не увенчалась успехом. Я получаю следующую ошибку:

    WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fac273160f0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fac27316588>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fac27316828>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fac273166a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fac273168d0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/
ERROR: Could not find a version that satisfies the requirement Flask==1.1.2 (from -r requirements.txt (line 2)) (from versions: none)
ERROR: No matching distribution found for Flask==1.1.2 (from -r requirements.txt (line 2))

Понятия не имею, почему я получаю эту ошибку. Может ли кто-нибудь помочь мне с этим? Я выполняю команду docker -compose в виртуальной среде python.

Ответы [ 2 ]

1 голос
/ 02 мая 2020

Ваш контейнер не может подключиться к inte rnet при установке pip, поэтому вам нужно это исправить. Я предполагаю, что удаление прокси из вашего docker файла должно исправить это.

0 голосов
/ 05 мая 2020

Я решил эту проблему. Мне пришлось создать файл /etc/docker/daemon.json и добавить следующий раздел:

{
  "dns": ["myDNS"]
}

Значение myDNS было получено с использованием следующего:

nmcli dev show | grep 'DNS'

После этого я перезапустил docker и смог установить зависимости.

...