若干乗り遅れた感がありますが、Vagrant の後継(?)と言われる Otto。調べてでてくる情報は公式のサンプルを実行していることが多かったので表題の通り MySQL 5.7 の環境を作ってみました。

otto コマンドはファイルを配置するだけで利用可能になるので、インストール手順は割愛します。

適当なディレクトリを作成し、次の Appfile を作成します。

application {
    name = "mysql"
    type = "docker-external"
}

customization "docker" {
    image = "mysql:5.7"
    run_args = "-e MYSQL_ROOT_PASSWORD=mysql -e MYSQL_DATABASE=dev -p 3306:3306"
}

あとは otto を実行するのみです。初回は Ubuntu のイメージをダウンロードしたりするので少し時間がかかります。

otto compile
otto dev

# IPアドレスを確認して変数に入れます
MYSQL_HOST=`otto dev address`

# MySQLに接続します
mysql -h $MYSQL_HOST -u root -p"mysql" dev

MySQLにログイン後、SELECT version(); でバージョンを確認すると 5.7.8-rc と表示されました。

Appfile の "mysql:5.7" のバージョン部分を変更すれば 5.6 なども導入可能です。

これだけでも開発用にすぐDBが欲しいときなどに便利ですが(otto コマンドが諸々の依存関係を解決してくれるのは楽)、アプリケーションの自動判別やデプロイ機能を利用しないと、Otto を活用しているとは言えないかも知れません。その他の機能はまた改めて。