なんだその構成っていわれそうですが、Vagrantで立ち上げたゲストOSからDockerで起動したMySQLサーバにアクセスしたい状況だったんですよ^^;
(余談。元々はVagrant上に開発テスト環境があって、データ移行プログラム開発のために別途MySQLサーバを立ち上げるのにDocker使ったって状況です)
MySQLのポート確認
Dockerで起動してるMySQLサーバについては docker-compose.yml
に記載してあるのでこれを確認。
version: '2'
services:
v1db:
image: mysql:5.6
# volumes_from:
# - data-mysql
volumes:
- ./db/mysql_data:/var/lib/mysql
ports:
- "23306:3306"
environment:
MYSQL_ROOT_PASSWORD: ****
posrtsをみるとlocalhost(ホストOS)の23306ポートに接続すればDockerのMySQLサーバに接続できるのがわかる。
なのでVagrant上のゲストOSからホストOSの23306ポートにアクセスすればDockerのMySQLサーバにアクセスできるはずである
ホストOSのIPは?
VirtualBox上の仮想マシンのネットワークはNATがデフォルトのようで、この場合のホストOSのIPは 10.0.2.2 に固定されてるようです。
というわけでゲストOSからDockerのMySQLにつなぐには下記で大丈夫でした
mysql -h 10.0.2.2 -P 23306 -u root -p