Vagrant+VirtualBoxで仮想サーバを立ち上げ、CentOS7をインストール。そこにDockerをインストールしてMySQLを構築した。
ホストPCであるWindows7のMySQLクライアントツールにDockerで構築したMySQLをリモート接続するためのメモ。
MySQLはdocker-composeを使用してインストールした。
目次
実行環境
実行環境は以下の通り。
- Window7
- VirtualBox5.0.16
- Vagrant1.9.6
- CentOS7
- Docker18.03.1
- MySQL5.6
- DBeaver5.1.2
事前準備
VirtualBoxのインストール
- VirtualBox https://www.virtualbox.org/
Vagrantのインストール
- Vagrant https://www.vagrantup.com/
VagrantでCentOS7をインストール
CentOS7にDockerをインストール
- 公式手順 https://docs.docker.com/install/linux/docker-ce/centos/#os-requirements
- 日本語手順 https://qiita.com/inakadegaebal/items/be9fecce813cebec5986
DBeaverのインストール
- DBeaver https://dbeaver.io/
Vagrantで立ち上げた仮想環境を起動し、SSHでログインする
作成した作業ディレクトリにて仮想環境を起動し、SSHでログインします。
1 | $ vagrant up |
立ち上がったら、仮想環境にログインします。ログアウトはexitです。
1 | $ vagrant ssh |
docker-composeをインストール
docker-composeをインストールします。バージョンは適宜置き換えてください。
1 2 | $ curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose |
参考URL:https://qiita.com/zembutsu/items/dd2209a663cae37dfa81
docker-compose.ymlの編集
docker-compose.ymlを作成し、下記のように編集します。バージョンやユーザ名などは適宜置き換えてください。
1 | $ vi docker-compose.yml |
docker-composeは複数のコンテナを管理できるため、MySqlの下にNginxなどのコンテナを追加することができます。
docker-compose.yml
1 2 3 4 5 6 7 8 9 | db: image: mysql:5.6 ports: - "3306:3306" environment: MYSQL_DATABASE: sample_db MYSQL_USER: sample MYSQL_PASSWORD: password MYSQL_ROOT_PASSWORD: password |
docker-composeの起動
docker-compose.ymlファイルを作成したら、docker-composeを起動します。
1 | $ docker-compose up -d |
docker-composeのプロセス確認
docker-composeが起動しているか確認します。
1 2 3 4 | $ docker-compose ps Name Command State Ports --------------------------------------------------------------------------- test_db_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp |
仮想サーバで構築したMySQLをクライアントツール(DBeaver)に接続
MySQLを起動できているのを確認したら、ホストPCにインストールしてあるDBeaverに接続しましょう。
接続設定は以下の通りです。
DBeaverの接続設定
Server Host MySQLが起動しているサーバのIPアドレス
Port MySQLに接続するポート
Database データベース名(書かなくても良い)
User Name MySqlに接続するユーザ名
Password MySqlに接続するユーザのパスワード
・SSH Tunnel
Host/IP SSH接続するサーバのIPアドレス
Port SSH接続するポート
User Name SSH接続するユーザ名
Authentication Method Public Key
Private Key 秘密鍵が格納されているパス
Passphrase SSH接続するユーザのパスワード
Authentication Methodは「Password」と「Public Key」を選択できるようになっています。僕の場合、「Password」 選択時は接続することができなかったため、「Public Key」を選択し秘密鍵が格納されているのパスを入力しました。
設定が完了したら、OKボタンを押して接続されていることを確認しましょう。