やりたいこと
- dockerで立てたpostgresをlocalからGUIで中身を見たい
postgresで見ようとした際にでたエラー
結構posticoでみるまでに苦労したのでかきに記しておく
上記のエラーが出た。原因を見つけるために下記を行う
database.ymlとdocker-compose.ymlの設定
passwordは必要?
このドキュメントにはpassは省略してたが省略したら怒られた。たぶん必要。
POSTGRES_PASSWORDなどの設定
docker-compose.yml
version: '3'
services:
db:
image: postgres
volumes:
- ./docker/pg:/var/lib/postgresql
ports:
- '5432:5432'
environment:
POSTGRES_PASSWORD: password
POSTGRES_USER: localhost
POSTGRES_DB: test_db
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
上記のようにpassなどの設定をする。ここをdatabase.ymlと合わせる。
database.yml
default: &default
adapter: postgresql
encoding: unicode
host: db
username: localhost
password: password
pool: 5
development:
<<: *default
database: myapp_development
test:
<<: *default
database: myapp_test
psqlコマンドで開く
psqlのコマンドは下記
「psqlドキュメント」
https://www.postgresql.jp/document/9.2/html/app-psql.html
docker-compose run db psql -U localhost -d test_db -h db -p 5432
でposticoではなく直接みてみる。上記は下記の意味合い。
$ psql -U localhost(usernameの指定) -d test_db(dbnameの指定) -h localhost(hostnameの指定) -p 5433(portの指定)
詰まったときに助かったコマンド
すべてを消すコマンド
# すべてを無に帰す
$ docker-compose down --rmi all --volumes