2016-05-26 8 views
0

SQLデータベースを正常に実行しています。ただし、SQLクライアントではアクセスできません。 > 3306とホストIPを使用して - Dockerコンテナ内のSQLデータベースにアクセスできない

docker run -it --name sql_key_container -e MYSQL_ROOT_PASSWORD=testpw -e MYSQL_DATABASE=key_volume -p 3306:3306 -d myimgname/ubuntumaria:0.2 

は、私は私が3306をマッピングし docker exec fcd12bf1da81 /etc/init.d/mysql status

で実行している検証しました。まだタイムアウトが発生しています。これは何ができますか?

答えて

0

は、あなたがあなたの新しいコンテナsql_key_containerは、そのデータベースにアクセスする場合は、ポート3306

にIPそのローカルIP上で、ホスト上で聞いて、今の容器fcd12bf1da81走行時のデータベースを持って、その後、コンテナはへのアクセスを必要としますfcd12bf1da81

あなたは--linkする必要があります。

docker run -it --link fcd12bf1da81:mydb --name sql_key_container -e MYSQL_ROOT_PASSWORD=testpw -e MYSQL_DATABASE=key_volume -p 3306:3306 -d myimgname/ubuntumaria:0.2 

と今はmydb:3306とそのコンテナ内部のDBにアクセスすることができます。

+0

他のコンテナではなく、私のローカルマシン –

+0

同じ問題です。ローカルホスト上の 'localhost'は' 127.0.0.1'ですが、あなたのコンテナにはありません。あなたのmysqlが0.0.0.0でリッスンしていることを確認する必要があります。コンテナにアクセスできるネットワーク上のホストからIPアドレスをコンテナに渡す必要があります。コンテナ内の 'localhost'は、あなたが外部に公開しないすべてのポートとサービスに対して、コンテナ内のインタフェースです... – CFrei

関連する問題