コマンド一つで気軽に mysql (など)を立ち上げたいマン

0pt   2018-07-11 23:50
IT技術情報局

複数プロジェクトに関わっている+それぞれ mysql のバージョンが違う、そんな時に使うと便利かもしれない。

https://github.com/regashia/backends

前提条件

docker-compose がインストールされている必要がある。

インストール curl https://raw.githubusercontent.com/regashia/backends/master/bin/install.sh | sh

backends コマンドが /usr/local/bin に追加される。

使い方 $ backends help Usage: backends [command] Environments: MYSQL_VERSION default: latest MYSQL_PORT default: 3306 REDIS_VERSION default: latest REDIS_PORT default: 3306 Commands: start 立ち上げる stop コンテナをとめる remove_container コンテナを削除する remove_all コンテナ、データを含め、全てを削除する help ヘルプを表示する

mysql 最新バージョンを 3306 ポート、 redis 最新バージョンを 6379 ポートで立ち上げる。

$ backends start $ docker ps CONTAINER ID IMAGE ... PORTS NAMES xxx redis:latest ... 0.0.0.0:6379->6379/tcp redis xxx mysql:latest ... 0.0.0.0:3306->3306/tcp mysql

mysql 5.7 を 8888 ポート、 redis 2.8 を 9999 ポートで立ち上げる。

$ MYSQL_VERSION=5.7 MYSQL_PORT=8888 REDIS_VERSION=2.8 REDIS_PORT=9999 backends start $ docker ps CONTAINER ID IMAGE ... PORTS NAMES xxx mysql:5.7 ... 0.0.0.0:8888->3306/tcp mysql xxx redis:2.8 ... 0.0.0.0:9999->6379/tcp redis カスタマイズ

${HOME}/.config/backends/docker-compose.yml を編集する。

アプリケーションから使う時の例

Rails から backends start で立ち上げた mysql に接続するときの database.yml 。

config/database.yml default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: '' url: 'mysql2://127.0.0.1:3306' development: <<: *default database: appname_development test: <<: *default database: appname_test production: <<: *default database: appname_production

これで接続できるはず。

Source: Dockerタグが付けられた新着投稿

   ITアンテナトップページへ
情報処理/ITの話題が沢山。