首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker连接主机mysql for django

Docker连接主机mysql for django
EN

Stack Overflow用户
提问于 2018-09-18 18:04:15
回答 1查看 1.2K关注 0票数 1

我正在尝试从docker container连接到我的主机mysql,但我不知道如何连接。我有一个django项目,我关注了Django Docker,我正在使用这个教程,这个教程在djnago和postgres上工作得很好。

我正在使用mac和mamp服务器,我想将我的djnago应用程序连接到我的主机mysql。

我的docker文件代码是:

代码语言:javascript
复制
    FROM python:3
    ENV PYTHONUNBUFFERED 1
    RUN mkdir /code
    WORKDIR /code
    ADD requirements.txt /code/
    RUN pip install -r requirements.txt
    ADD . /code/

我的docker编写文件是:

代码语言:javascript
复制
 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。

EN

回答 1

Stack Overflow用户

发布于 2020-01-26 23:35:48

首先,使用以下命令创建一个名为hostnetwork的网络,使其在容器内具有固定的主机ip

代码语言:javascript
复制
docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 hostnetwork

然后更改docker-compose配置,将您的容器连接到hostnetwork

代码语言:javascript
复制
services:
    db:
        image: image_name
        networks:
            - hostnetwork
networks:
    hostnetwork:
        external: true

现在您可以将django admin db config设置为您的主机mysql引擎,如下所示:

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db_name',
        'USER': 'username',
        'PASSWORD': '',
        'HOST': '192.168.0.1',
        'PORT': '3306'
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52384054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档