我正在尝试使用docker设置Django开发环境。虽然我可以连接到主机上的mysql。但是,Web容器没有与下面的错误连接到MySQL容器:Django docker容器无法连接到mysql容器,错误为“无法连接到'db'(111)上的MySQL服务器”)
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on 'db' (111)")
下面是泊坞窗配置和Django的配置:
---------泊坞窗,compose.yml-- -------
version: '2'
services:
web:
build: .
volumes:
- ".:/code/current"
ports:
- "8000:8000"
depends_on:
- db
- redis
links:
- db
- redis
command: ./manage.py runserver 0.0.0.0:8000
db:
image: mysql:5.7
volumes:
- "./.data/db:/var/lib/mysql"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=goat_db
restart: always
ports:
- "3306:3306"
的Redis: 重启:总是 图片:Redis的:最新 端口: - “6379:6379”
-------------- Dockerfile用于Web图像----------------------
FROM ubuntu:14.04
MAINTAINER Alice
RUN apt-get update
RUN apt-get install -y tar git curl wget emacs build-essential python python-dev python-distribute python-pip libpcre3 libpcre3-dev libmysqlclient-dev python-m2crypto openssl libssl-dev swig freetds-dev python-pymssql nginx subversion
RUN mkdir -p var/www/goat.garenanow.com/current/log
WORKDIR /var/www/goat.garenanow.com/current
ADD requirements.txt /var/www/goat.garenanow.com/current
RUN pip install -r requirements.txt
ADD . /var/www/goat.garenanow.com/current
EXPOSE 8000
- ----- django数据库配置---
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'goat_db',
'USER': 'root',
'PASSWORD': 'root',
'HOST': 'db',
'PORT': '3306',
},
离开容器向上运行一个后整个晚上。这只是工作(发生了什么,虽然????) – sinsin
说不上来 - 有一个端口冲突和其他一些服务任何机会停止?或者机器重新启动? – ldg
是横空出世,搬运工,撰写重启解决这个问题......你指挥 – sinsin