2014-11-24 2 views
3

도커 컨테이너에 Django 앱을 만들었습니다. 그리고 ip 192.168.1.13이있는 서버에서 실행하십시오. 그리고 Django settings.py를 설정하여 192.168.1.6에 mysql 서버를 연결합니다. 외부 독립 서버입니다. 그러나 컨테이너를 실행할 때 항상 사용자 [email protected]에 대한 액세스가 거부되었다고합니다. 어떻게 장고는 docker 호스트 ip에 연결할 수 있지만 정의 된 서버 ip에는 연결할 수 없습니까?도커 컨테이너에 외부 mysql 서버를 연결하는 방법

어떤 몸이라도이 문제를 해결하는 데 도움이 될 수 있습니까? 많은 감사합니다.

두 개의 서버가 있습니다.

서버 A는 192.168.1.13입니다. 거기에 실행되는 django 도커 컨테이너가 있습니다.

서버 B는 192.168.1.6입니다. 그것은 MySQL 서버입니다.

그리고 장고 컨테이너가 서버 B에 연결되기를 원합니다. 그러나 호스트 서버에 연결할 수 없다고보고되었습니다.

답변

1

로컬 호스트를 통해서만 액세스하는 사용자에게 액세스 권한이 부여 된 것 같습니다. 당신의 MySQL 서버에서 다음을 시도해보십시오

GRANT ALL PRIVILEGES ON * . * TO 'xxx'@'192.168.1.13'; 

@ 후 IP 주소가 위의 MySQL 클라이언트가 (장고 컨테이너)에서 연결되어있는 주소를 참조 있습니다, MySQL 서버의 주소가 아니라.

+0

답장을 보내 주셔서 감사합니다. 하지만 당신의 제안이 효과가 있다고 생각하지 않습니다. 192.168.1.13이 내 도커 호스트이기 때문에. 참으로 mysql 서버가 아닙니다. MySQL 서버 IP는 192.168.1.6입니다. settings.py에서 설정했지만 django 인스턴스는 192.168.1.13을 대신 연결하려고합니다. 그게 내 문제 야. – morphinewan

+0

답변에 지정된 IP 주소는 사용자가 연결하는 호스트가 아니라 연결된 호스트를 나타냅니다. 내 명령을 시험해 보셨습니까? – dukebody

+0

감사합니다. 나는 너무 어리 석다. 나는 너의 제안을 오해했다. 귀하의 대답은 정확합니다. 내 문제가 해결되었습니다. 다시 감사합니다. – morphinewan

관련 문제