Могу ли я подключить свой контейнер приложений Django к базе данных MSQL на моей локальной машине?

У меня есть приложение Django, которое работает в контейнере. Я пытался подключиться к MySQL-базе данных, запущенной на моей локальной машине...

В файле settings.py проекта Django я использую db_host для IP-адрес моей локальной машины для конфигурации базы данных. В контейнере я попробовал скрутить IP-адрес моей локальной машины, и он работал нормально.

Даже тогда мое приложение Django выдает ошибку. Не удается подключиться к серверу по <ip_адрес>. Можно ли вообще подключиться, если да, то как?

Мой Dockerfile.

# Use an official Python runtime as a parent image
FROM python:3.9-slim

# Set environment variables for Python
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set the working directory in the container
WORKDIR /app

# Copy the current directory contents into the container at /app
COPY . /app

# Install system dependencies for mysqlclient
RUN apt-get update \
    && apt-get install -y python3-dev default-libmysqlclient-dev build-essential pkg-config gcc curl \
    && rm -rf /var/lib/apt/lists/*

# Install Python dependencies
RUN pip install --upgrade pip \
    && pip install -r requirements.txt

# Expose port 8000 to allow communication to/from server
EXPOSE 8000

# Run the Django development server
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
Вернуться на верх