コンテナから、ローカル(ホスト側)の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=コンテナ名';
のようにコンテナ名を指定します。
コメント