Невозможно выполнить докеризацию django

Я новичок в Docker, я попробовал несколько видео примеров на youtube, но я не могу докеризировать приложение django с помощью anaconda

Вот мой Dockerfile

FROM python:3

ENV PYTHONUNBUFFERED 1

WORKDIR /app

ADD . /app

COPY ./requirements.txt /app/requirements.txt

RUN pip install -r requirements.txt

COPY . /app

Вот docker-compose.yml

version: '3'

services:
    web:
        build: .
        command: python manage.py runserver 0.0.0.0:8000
        ports:
            - 8000:8000


Вот требования.txt

asgiref                   3.4.1              pyhd3eb1b0_0  
ca-certificates           2021.10.26           haa95532_2  
certifi                   2021.10.8        py39haa95532_2  
django                    3.2.5              pyhd3eb1b0_0  
krb5                      1.19.2               h5b6d351_0  
libpq                     12.9                 hb652d5d_1  
openssl                   1.1.1m               h2bbff1b_0  
pip                       21.3.1                   pypi_0    pypi
psycopg2                  2.8.6            py39hcd4344a_1  
python                    3.9.7                h6244533_1  
pytz                      2021.3             pyhd3eb1b0_0  
setuptools                58.0.4           py39haa95532_0  
sqlite                    3.37.0               h2bbff1b_0  
sqlparse                  0.4.1                      py_0  
typing_extensions         3.10.0.2           pyh06a4308_0  
tzdata                    2021e                hda174b7_0  
vc                        14.2                 h21ff451_1  
vs2015_runtime            14.27.29016          h5e58377_2  
wheel                     0.37.1             pyhd3eb1b0_0  
wincertstore              0.2              py39haa95532_2  
zlib                      1.2.11               h8cc25b3_4 

После запуска "docker-compose build" я получаю следующее сообщение об ошибке

=> ERROR [5/6] RUN pip install -r requirements.txt                                      3.1s 
------
 > [5/6] RUN pip install -r requirements.txt:
#10 2.240 ERROR: Invalid requirement: 'asgiref                   3.4.1              pyhd3eb1b0_0' (from line 4 of requirements.txt)
#10 2.933 WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.    
#10 2.933 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
------
executor failed running [/bin/sh -c pip install -r requirements.txt]: exit code: 1
ERROR: Service 'web' failed to build : Build failed

Первый...

Создайте файл требований из pip freeze >> requirements.txt

Идеально только те элементы, которые вы вручную установили через pip install, должны быть в файле requirements.txt, так как все остальные будут установлены как зависимости

Предлагаемые изменения в вашем Dockerfile:

...
COPY ./requirements.txt /tmp/requirements.txt  # copy [local source] [docker destination]

RUN python -m pip install --upgrade pip \  # upgrade pip
    && pip install -r /tmp/requirements.txt  \  # install django requirements from destination
    && rm -rf /tmp/requirements.txt  # remove temp files
...

Вы копировали файл requirements.txt в контейнер docker в папку /app. Затем, когда вы пытались выполнить команду pip install, вы не ссылались на эту папку /app

Вернуться на верх