環境
- macOS Sierra
- Docker 17.06.0-ce-mac18
- Apache 2.4
- CentOS 7.0
- MySQL 5.5
- Laravel 5.0
前提条件
Lardockの基本的な導入手順を踏み、docker-compose up -d
コマンドでコンテナを起動する直前までの工程が終了していること
すでに起動してしまっている場合、Laradockで使用するMySQLのコンテナとイメージを一度削除してください。
コンテナを停止、ネットワークとともに削除するコマンドは下記のとおりです。
$ docker-compose down
イメージは削除されないので、
$ docker ls -a
で全てのイメージを表示し、laradockを導入してビルドしたMySQLのイメージを削除します。
laradock_mysqlとmysql 5.7があります。
導入手順
Dockerfileを書き換える
laradock/mysql配下のDockerfileを書き換え、DockerHubからpullしてくるMySQLイメージのバージョンを変更します。
- FROM mysql:5.7
+ FROM mysql:5.5
これだけです。
イメージをbuildしてコンテナを起動する
docker-compose up
コマンドでlaradock/mysql/配下のDockerfileからMySQLのイメージをbuildし、コンテナを起動します。
オプションに-dをつけて実行すると、コンテナをバックグラウンドで起動し(デタッチドモード)、実行したままにできます。
また、今回はMySQLののみイメージをビルドするように指定します。
$ docker-compose up -d mysql
5.5-fpmのタグがついたphpのイメージと、それをもとにしたlaradock_php-fpmというイメージがビルドされていることを確認します。
$ docker image ls
laradock_mysql latest 6104906b149d 31 hours ago 256MB
mysql 5.5 17e9a1fe381e 2 weeks ago 256MB
laradock_mysql コンテナ内のPHPのバージョンが5.5になっていることを確認します。
オプションで--rmをつけると、対象のコンテナを実行後に削除してくれます。停止しているコンテナに入ることなくバージョン確認などができるので便利です。
コンテナがデタッチドモードで起動されている場合は無視されるので、--rmオプションはなくても同じ挙動になります。
$ docker-compose run --rm mysql mysql --version
mysql Ver 14.14 Distrib 5.5.56, for linux-glibc2.5 (x86_64) using readline 5.1
Laradock Tips
デフォルトではストレージシステムのファイル群が~/.laradock/dataになっているので、ローカル環境のlaradockディレクトリ内に同期しておくと便利です。
$ cd laradock
$ mkdir .laradock/data
$ docker-compose up -d // コンテナ内のファイルがローカル環境に同期される