Как создать docker-образ (без docker compose) приложения django и использовать существующий контейнер mysql

I have a "point of sales" application in Django that uses a mysql database.
I followed this Docker guide: Python getting started guide

Для настройки контейнера mysql я создал пару томов и его сеть:

docker volume create mysql
docker volume create mysql_config

docker network create mysqlnet

Мой Dockerfile выглядит так:
(я пока не хочу использовать docker-compose, потому что хочу изучить базы)

Dockerfile

# syntax=docker/dockerfile:1

FROM python:3.8-slim-buster

RUN apt update
RUN apt upgrade -y
RUN apt dist-upgrade
RUN apt-get install procps -y
RUN apt install curl -y
RUN apt install net-tools -y

WORKDIR /home/pos

COPY requirements.txt ./.

RUN pip3 install -r requirements.txt

COPY ./src ./src

CMD ["python", "./src/manage.py", "runserver", "0.0.0.0:8000"]

А в проекте Django мои настройки и требования к базе данных выглядят так:

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'point-of-sales',
        'USER': 'root',
        'PASSWORD': 'r00t',
        'HOST': 'localhost',
        'PORT': '3307'
    }
}

requirements.txt

# Django
django>=3.1,<3.2

# DRF
djangorestframework>=3.12,<3.13

# Databases
mysqlclient

Что я хочу - это создать образ приложения Django, который я мог бы запустить и присоединить к сети mysql.

Проблема заключается в том, что я не могу собрать образ моего приложения django, потому что оно выдает следующую ошибку при попытке установить mysqlclient:

OSError: mysql_config not found

Посмотрев вокруг, я нашел другую тему, в которой предлагается установить mysql-config, который является другим пакетом, но я хочу держать все mysql изолированным в контейнере mysql.

Есть ли способ сделать это без использования docker-compose?

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