我正在嘗試使用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