takaya030の備忘録

PHP、Laravel、Docker などの話がメインです

Windows + VirtualBox + Docker で動作しているコンテナから XAMPP の MySQL へアクセス

前回 Docker コンテナからホスト OS (Windows)へのアクセス可能なことを確認しましたが、今回はその応用でコンテナから XAMPP の MySQL に接続してみます

動作環境

以下の環境で検証しました
VirtualBoxDocker はインストール済みの前提で話を進めます

Windows10 Home Edition
VirtualBox 5.1.6
docker 1.10.3
docker-machine 0.6.0

デフォルトルートの確認

コンテナからホストOS (Windows) へのアクセスはデフォルトルートを通じて行うことが可能です
デフォルトルートは CoreOS 上で "ip r" と入力することで確認可能です

$ ip r
default via 10.0.2.2 dev eth0  metric 1
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15
127.0.0.1 dev lo  scope link
172.17.0.0/16 dev docker0  proto kernel  scope link  src 172.17.0.1
172.18.0.0/16 dev br-5b890ae3c1a7  proto kernel  scope link  src 172.18.0.1
172.19.0.0/16 dev br-0fef2cb04591  proto kernel  scope link  src 172.19.0.1
192.168.99.0/24 dev eth1  proto kernel  scope link  src 192.168.99.100

自分の環境ではデフォルトルートのアドレスは 10.0.2.2 でした

XAMPP の MySQL の起動

xampp-controlMySQL を起動します
f:id:takaya030:20161029191234p:plain

コンテナから XAMPP の MySQL に接続

$ mysql -u root -h 10.0.2.2
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

以上、コンテナから XAMPP の MySQL にアクセス可能なことが確認できました