I have setup local pypiserver using following docker-compose.yml and it is working when i use it directly like
pip install -r requirements.txt --extra-index-url http://127.0.0.1:8082
However, When I try to use same command in Dockerfile, it is not working. Files I have created following files:
Dockerfile:
FROM python:3
ENV PYTHONUNBUFFERED=1
ARG PIP_EXTRA_INDEX_URL
WORKDIR /code
COPY requirements.txt /code/
RUN echo "${PIP_EXTRA_INDEX_URL}"
RUN pip install -r requirements.txt $PIP_EXTRA_INDEX_URL
COPY . /code/
docker-compose.yml
version: "3.9"
services:
db:
image: postgres
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
build:
context: .
args:
- PIP_EXTRA_INDEX_URL=http://127.0.0.1:8082/simple/
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8800:8000"
depends_on:
- db
When I try to run docker-compose up
I am getting following errors:
Looking in indexes: https://pypi.org/simple, http://127.0.0.1:8082/simple/
Collecting http://127.0.0.1:8082/simple/
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f7407596df0>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f7407596b20>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f74089dcf70>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f74089dca60>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f74089dcdf0>: Failed to establish a new connection: [Errno 111] Connection refused')': /simple/
ERROR: Could not install packages due to an OSError: HTTPConnectionPool(host='127.0.0.1', port=8082): Max retries exceeded with url: /simple/ (Caused by NewConnectionError('<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f74089dcac0>: Failed to establish a new connection: [Errno 111] Connection refused'))
ERROR: Service 'web' failed to build : The command '/bin/sh -c pip install -r requirements.txt $PIP_EXTRA_INDEX_URL' returned a non-zero code: 1
Is any configuration missing in this code?