Могу ли я подключить свой контейнер приложений 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"]