DBの中身確認
完全にメモになるので、詳細な内容の説明は割愛する。
本番環境にDockerを使ったRailsアプリのDBの中身を確認する。尚、DBはRDSを使用し、Mysqlで管理している。
まずEC2にSSH接続し、dockerをビルド、アップし直す。その上で以下を実行する。
terminal
$ docker-compose exec app rails db:create
#まだDBを作成していない場合
$ docker-compose exec app rails db:migrate
その上で、
$ docker-compose exec app rails dbconsole
ここでパスワードを聞かれるので、DBのパスワードを入力するとクエリを打てるようになる。
例えば、作成したusersデータの内容を確認したければ、select * from users\G
のように実行する。また、データの仕様を確認したい時には、describe users
のように実行すればよい。
コンテナにログインしてDBを確認する。
以下のコマンドを実行し、appコンテナのコンテナID(アルファベットと数字で構成される)を確認する。
また、別途、AWSでRDSのエンドポイントも確認しておく。
terminal
$ docker ps
確認したContainerIDを使って以下のコマンドを打つ。
$ docker exec -it コンテナID bash
Mysqlを起動させる。
$ service mysql start
その後、以下のコマンドでMysqlに接続する。
$ mysql -u root -h RDSのエンドポイント -p
パスワードを入力するとクエリを打てるようになる。
そこで、
MySQL [(none)]> show databases
と入力すると、作成済みのDBを一覧で見られる。アプリのデータベース名を確認し、以下のコマンドで指定する。
MySQL [(none)]> use appname_db
これで、同様にアプリのDBの中身をクエリで確認することができる。