Verbindung zur Remote-MySQL-Datenbank vom Docker-Container

Ich arbeite daran, eine Django 1.5.x-Anwendung zu containerisieren, die über ODBC eine Verbindung zu einer MySQL-Datenbank auf einem separaten Server herstellt:

[mysql_default]
database = DB_NAME
driver = /usr/lib64/libmyodbc5.so
server = REMOTE_DB_SERVER
user = DB_USER
password = DB_USER_PWD
port = 3306

Ich kann die Django-App auf meinem lokalen Computer (außerhalb des Dockers) mit einer Verbindung zur entfernten Datenbank über Portweiterleitung und SSH ausführen:

 ssh -L 3307:127.0.0.1:3306 MYID@REMOTE_DB_SERVER

Ich habe mit Centos 6.x einen Docker-Container für die App eingerichtet, kann die MySQL-Verbindung jedoch nicht herstellen. Auf dem Container ist MySQL installiert und mysqld läuft.

Meine docker-compose.yml-Datei sieht folgendermaßen aus:

version: "2"
services:
  web:
    build: .
    image: MY_IMAGE
    container_name: MY_CONTAINER
    network_mode: "host"
    ports:
      - "3307:3306"
    command: /bin/bash

Wenn der Container ausgeführt wird, kann ich den folgenden Befehl ausführen (außerhalb des Containers), um die Datenbanken in der entfernten Datenbank anzuzeigen:

docker exec MY_CONTAINER echo "show databases" | mysql -u DB_USER -pDB_USER_PWD -h 127.0.0.1 --port=3307

Aber aus dem Container heraus schlägt derselbe Befehl fehl:

    echo "show databases" | mysql -u DB_USER -pDB_USER_PWD -h 127.0.0.1 --port=3306

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

Antworten auf die Frage(6)

Ihre Antwort auf die Frage