Невозможно создать докер для Django и Mysql
Я создаю приложение с Djnago и MySql. Но у меня возникает ошибка во время сборки. Вот мой код:
docker-compose.yml
version: '3.9'
services:
db:
image: mysql
ports:
- '3306:3306'
environment:
MYSQL_DATABASE: 'repository'
MYSQL_USER: 'root'
MYSQL_PASSWORD: ''
MYSQL_ROOT_PASSWORD: ''
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./:/repository
ports:
- "8000:8000"
depends_on:
- db
dockerfile
FROM python:3.7.3-alpine
# set work directory
WORKDIR /usr/src/app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# install dependencies
RUN pip install --upgrade pip
COPY requirements.txt .
RUN pip install -r requirements.txt
# copy project
COPY . /usr/src/app
EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
requirements.txt
Django==3.2
django-cors-headers==2.4.0
django-crispy-forms==1.11.0
django-js-asset==1.2.2
djangorestframework==3.11.0
mysqlclient==1.4.6
xhtml2pdf==0.2.5
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'repository',
'USER': 'root',
'PASSWORD': '',
'HOST':'localhost',
'PORT':'3306',
}
}
Это моя ошибка
> #9 10.61 ERROR: Could not find a version that satisfies the requirement mysqlclient==1.4.6 (from versions: 1.3.0, 1.3.1, 1.3.2,
> 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.3.8, 1.3.9, 1.3.10, 1.3.11rc1, 1.3.11, 1.3.12, 1.3.13, 1.3.14, 1.4.0rc1, 1.4.0rc2, 1.4.0rc3, 1.4.0, 1.4.1, 1.4.2, 1.4.2.post1, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.1.0rc1, 2.1.0)
> #9 10.61 ERROR: No matching distribution found for mysqlclient==1.4.6
> ------
> executor failed running [/bin/sh -c pip install -r requirements.txt]: exit code: 1
Я могу собрать образ, если удалю библиотеку mysqlclient из файла requirements.txt. Заранее спасибо.
Примечание по Python 3
Если вы используете python3
Вам может понадобиться установить заголовки и библиотеки для разработки Python и MySQL следующим образом:
sudo apt-get install python-dev default-libmysqlclient-dev # Debian / Ubuntu
sudo yum install python-devel mysql-devel # Red Hat / CentOS
brew install mysql-client # macOS (Homebrew)
Для получения дополнительной информации вы можете обратиться к mysqlclient 1.4.6.