0.環境
項目 | バージョン |
---|---|
OS | UbuntuServer 16.04 LTS |
Docker | 1.12.1, build 23cf638 |
Apache | 2.4 (Dockerイメージ) |
MySQL | 5.7 (Dockerイメージ) |
PHP | 7.0 (Dockerイメージ) |
phpMyAdmin | 4.6.4 (Dockerイメージ) |
1.Dockerをインストール
sudo wget -qO- https://get.docker.com/
もしくは
sudo curl -fsSL https://get.docker.com/ | sh
インストールが完了したら、ユーザを「docker」グループに所属させます。
gpasswd -a [ユーザ名] docker
2.MySQL設定ファイル作成
どこでもいいけどとりあえず 「~/dockerfile/mysql_custom.conf」 で作成します。
[mysqld]
character-set-server=utf8
3.MySQLのDockerコンテナ起動
作成したMySQL設定ファイルを反映させるため、「~/dockerfile」にバインドします。
docker run --name mysql -v ~/dockerfile:/etc/mysql/conf.d /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=[mysqlログインパスワード] -d mysql:5.7
4.PHP-apacheとMySQLをリンクさせたコンテナを起動する
※apacheで公開するWebアプリのモジュールをホストの「~/work」に置いているため、「~/work」にバインドしています。
※MySQLと連携できるようカスタムしたPHP-apacheのDockerイメージを公開リポジトリに置いてあるので、それを使用しています。
docker run -p 80:80 -v ~/work:/var/www/html --link mysql:mysql --name php -d saka24/php7-apache
5.PHPでMySQLに接続する
以下のように接続ホスト名を「mysql」に指定すれば接続できます。
PHP
$link = mysqli_connect("mysql", "root", "[mysqlログインパスワード]", "[DB名]");
6.phpMyAdminコンテナを起動
docker run --name myadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin
8080ポートにアクセスし、
ユーザ名:root
パスワード:項番3で設定したパスワード
でログインできればOK!