我正在尝试从docker container连接到我的主机mysql,但我不知道如何连接。我有一个django项目,我关注了Django Docker,我正在使用这个教程,这个教程在djnago和postgres上工作得很好。
我正在使用mac和mamp服务器,我想将我的djnago应用程序连接到我的主机mysql。
我的docker文件代码是:
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/我的docker编写文件是:
version: '3'
services:
db:
image: postgres
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db这个程序运行良好,但我正在尝试将我的django应用程序连接到我的主机mysql。
我不知道如何从我的docker连接主机mysql。
发布于 2020-01-26 23:35:48
首先,使用以下命令创建一个名为hostnetwork的网络,使其在容器内具有固定的主机ip
docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 hostnetwork然后更改docker-compose配置,将您的容器连接到hostnetwork
services:
db:
image: image_name
networks:
- hostnetwork
networks:
hostnetwork:
external: true现在您可以将django admin db config设置为您的主机mysql引擎,如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_name',
'USER': 'username',
'PASSWORD': '',
'HOST': '192.168.0.1',
'PORT': '3306'
}
}https://stackoverflow.com/questions/52384054
复制相似问题