Docker Desktop for Windowsを試してみる(9)dbコンテナ内のpostgresqlの中身を確認する
Windows10にDockerでRails5.1+Posgresql環境を構築し、Railsチュートリアル第4版(Rails 5.1)を写経しています。
本書では、AWS Cloud9下でdevelopmentではsqlite3を用いていますが、上記環境では、developmentもpostgresql(dbコンテナ)なので、postgresqlの中身を見るためにはどうすればよいか調べてみました。
Docker Desktop for Windows目次
- (1)WSL2とWindows Desktopのインストール
- (2)Swiftコンテナを作成してSwiftを動かしてみる
- (3)Windows10でWindowsとwsl2間でのファイルのコピー
- (4)Windows10+WSL2+DockerDesktopでJupyterLab環境構築してみる
- (5)Windows10+WSL2+DockerDesktopでWordPressを環境構築してみる
- (6)Windows10+WSL2+DockerDesktopでRuby on Rails7+PostgreSQLを環境構築してみる【2022年1月時点】
- (7)Windows10+WSL2+DockerDesktop + Ruby on Rails7をHerokuにデプロイ
- (8)Railsチュートリアル第4版(Rails5.1)の環境構築【2022年1月時点】
- (9)dbコンテナ内のpostgresqlの中身を確認する
- (10)ProgateのRubyonRails5学習レッスンの環境構築【2022年1月時点】
- (11)Windows10+WSL2+DockerDesktopでRuby on Rails7(TailwindCSS+importmap-rails)+PostgreSQLを環境構築してみる【2022年9月時点】
- Windows10+WSL2(Ubuntu20.02)でRails7+tailwindcss+jsbundling-rails環境構築【2022年9月時点】
開発環境
Windows 10 Pro 21H1
Hyper-Vを有効化
Windows Docker Desktop 4.0.0
VisualStudioCode (wsl用の拡張機能インストール済み)
WSL2 Ubuntu 20.04 LTS
VisualStudioCode (+拡張機能 )
『Wndows Docker Desktop』+『WSL2のUbuntu』+VSCodeのセットアップについては「Docker for Windowsを試してみる(1)WSL2とWindows Desktopのインストール」をご参照ください。
さらに、Docker Desktop for Windowsを試してみる(8)Railsチュートリアル第4版(Rails5.1)の環境構築【2022年1月時点】でRails5.1+Postgresql環境を構築した状態です。
今回やりたいこと
Railsチュートリアル第4版(Rails 5.1)第6章の6.3.4ユーザーの作成と認証において、rails consoleでusersテーブルに保存したデータを見る
→ Docker Composeで作成したdbコンテナ(postgresql)内のdevelopmentのusersテーブルの中身を見にいく。なお、docker-compose.ymlは以下のようになっています。
version: "3.9"
services:
db:
image: postgres
volumes:
- ./tmp/db:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: password
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
volumes:
- .:/myapp
ports:
- "3000:3000"
depends_on:
- db
→ POSTGRERS_PASSWORD は “password"となります。
docker-compse upした状態で、dbコンテナに入る
- WindowsのスタートボタンからDocker Desktopを起動
- WSL2を起動し、VisualStudioCodeを起動
- Ctrl+@でターミナル画面を開き、 docker-compose up -dでwebコンテナ(Rails)と、dbコンテナ(postgresql)を作成
- docker-compose exec db bashでdbコンテナに入る。
docker-compose up -d
docker-compose exec db bash
root@xxxxxx となれば、dbコンテナ内に入れています。
dbコンテナ内のPostgresqlにログインする
dbコンテナ内に入った状態で、以下を入力します。password は表示されません。
psql -U postgres -h db -d postgres
password
postgres=# となっていれば、postgresqlの中に入れています。
データベース、テーブルの順に移動し、usersテーブルの中身を確認する
postgresqlにログインできたら、以下のコマンドを順に入力します。
\l
\c myapp_development
\d
\d users;
SELECT * FROM users;
usersテーブルに、id=1のデータが入っていることが確認できます。
なお、コマンドの意味は以下のようになっています。
\l :データベース一覧表示
\c myapp_development :myapp_developmentデータベースに切り替え
\d :テーブル一覧表示
\d users; :usersテーブルのスキーマの詳細を表示
SELECT * FROM users; :usersテーブルの中身を表示
なお、終了するときは、以下のコマンドを入力します。
exit
参考
https://dev.classmethod.jp/articles/postgresql-organize-command/
[PostgreSQL] よく使うコマンドまとめ
宇都宮 洋
2016.07.29
https://qiita.com/H-A-L/items/fe8cb0e0ee0041ff3ceb
@H-A-L
更新日 2021年10月15日
PostgreSQLの基本的なコマンド
https://dotinstall.com/lessons/basic_postgresql
PostgreSQL入門
https://note.com/kakidamediary/n/naa4cc945f9c2
docker上に構築したpostgreSQLに接続する方法のこのこ2020年8月6日
ディスカッション
コメント一覧
まだ、コメントがありません