Я получаю ошибку при попытке запустить docker-compose для настройки проекта django и базы данных mysql, на Ubuntu 22.04
Я новичок в docker и все еще изучаю его, поэтому я кодировал по этому учебнику youtube, но когда я пытаюсь запустить файл docker compose, я получаю эти ошибки на моей машине, которые я не могу понять.
Вот содержимое docker-compose.yml:
version: "3.8"
services:
app:
build: .
volumes:
- .:/django
ports:
- 8000:8000
image: app:django
container_name: django_container
command: python manage.py runserver 0.0.0.0:8000
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_DATABASE: 'django-app-db'
MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
volumes:
- ./data/mysql/db:/var/lib/mysql
Dockerfile:
FROM python:3.8-slim-buster
ENV PYTHONUNBUFFERED=1
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
Файл Requirements.txt:
asgiref==3.5.2
Django==4.1.3
pytz==2022.6
sqlparse==0.4.3
psycopg2-binary>=2.9
mysqlclient>=2.1
Теперь, когда я запускаю docker-compose build
или следующий коммнад docker-compose run --rm app django-admin startproject core .
, я получаю эти ошибки:
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'error'
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [16 lines of output]
mysql_config --version
/bin/sh: 1: mysql_config: not found
mariadb_config --version
/bin/sh: 1: mariadb_config: not found
mysql_config --libs
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-lbql0nv5/mysqlclient_b1015c8235e44329ba5248fc9f64b86b/setup.py", line 15, in <module>
metadata, options = get_config()
File "/tmp/pip-install-lbql0nv5/mysqlclient_b1015c8235e44329ba5248fc9f64b86b/setup_posix.py", line 70, in get_config
libs = mysql_config("libs")
File "/tmp/pip-install-lbql0nv5/mysqlclient_b1015c8235e44329ba5248fc9f64b86b/setup_posix.py", line 31, in mysql_config
raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
WARNING: You are using pip version 22.0.4; however, version 22.3.1 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
ERROR: Service 'app' failed to build : The command '/bin/sh -c pip3 install -r requirements.txt' returned a non-zero code: 1
Другая вещь - у меня уже есть последняя версия pip 22.3.1, но я все еще получаю предупреждение, что у меня нет последней версии. Кто-нибудь помогите
Я обновил pip и pip subtools, но все равно это не решило проблему