Macで、Dockerでコンテナからローカル(ホスト側)のMySQLに接続する

コンテナから、ローカル(ホスト側)のMySQLに接続する指定は?

Mac上での指定について公式サイトに説明があります。

公式ドキュメント:https://docs.docker.com/docker-for-mac/networking/#per-container-ip-addressing-is-not-possible

 

Mac上のローカルMySQLに接続するには

host.docker.internal

を利用します。

 

PDOを利用するなら

$dsn = 'mysql:dbname=データベース名;host=host.docker.internal';

のような感じ。

 

公式サイトには

gateway.docker.internal

も使えると書いてありますが、私の環境では接続できませんでした。

エラーも出ずいつまでも繋がりません。

 

ちなみに、

Dockerのあるコンテナから、別のコンテナのMySQLに接続するのは、

$dsn = 'mysql:dbname=データベース名;host=コンテナ名';

のようにコンテナ名を指定します。

コメント