質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

1053閲覧

local環境のdockerのコンテナ内のDBをposticoでみたい

komati88

総合スコア6

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/10/25 12:50

dockerを使用してlocal環境で開発を行っています。DBにpostgresqlを使用しており、DBの値をposticoで見たいのですが、

FATAL: role "localhost" does not exist

と出てしまいます。
開発環境はDocker for macです

dockerfileなどは下記の設定で行なっております。

version: '3' services: db: image: postgres volumes: - ./tmp/db:/var/lib/postgresql/data ports: - '5432:5432' environment: POSTGRES_PASSWORD: password POSTGRES_USER: localhost POSTGRES_DB: test_db POSTGRES_PORT: 5432 POSTGRES_HOST: 'localhost' 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

datebese.yml

default: &default adapter: postgresql encoding: unicode host: db username: localhost password: password host: localhost pool: 5 development: <<: *default database: myapp_development test: <<: *default database: myapp_test

posticoの設定を下記に示します。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

docker-compose ps でコンテナーが起動していることを確認します
終了してしまっている場合は、次のコマンドで db サービスのコンテナーのログを確認します:

console

1docker-compose logs db

Compose ファイルで db サービスがホストのディレクトリーをマウントするように設定しています:

yaml

1 volumes: 2 - ./tmp/db:/var/lib/postgresql/data

これは、ディレクトリーの状態によってはコンテナーの起動を妨げる可能性もあります
もし、データベースのデータ削除を行っても差し支えなければ、
./tmp/db を削除してから再度実行してみると問題が解決する可能性があります

投稿2020/10/26 03:14

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

komati88

2020/10/26 22:04

コメントありがとうございます。ご指摘頂いた通りdocker-compose.ymlファイルを以下のように編集しました。 volumes: - var/lib/postgresql/data しかし、以下のエラーが発生しました。 FATAL: database "myapp_development" does not exist
y_shinoda

2020/10/27 06:19

myapp_development は以前 db サービスを起動した後、Rails で作成されたものと思われます docker-compose.yml の設定を変更したことにより データベースが初期状態になっていますので Rails 側から再度作成しなおしましょう おそらく次のようなコマンドであったはずです docker-compose run web rake db:create または docker-compose run web rails db:create 参考: Docker 公式ドキュメントの Rails Quickstart 完全解説 - Qiita https://qiita.com/y_shinoda/items/1d02d3c63e003e6c7ea2#db-%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AB-rails-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8C%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92%E6%96%B0%E8%A6%8F%E4%BD%9C%E6%88%90
komati88

2020/10/27 22:20

返信ありがとうございます。 docker-compose run web rails db:create を実行したところ ActiveRecord::PendingMigrationError というエラーが発生しました。 エラー解決方法として docker-compose run --rm web rails db:migrate を行いましたが エラーが解決しませんでした。 何度も質問してしまい、大変心苦しいのですが、御教授していただけると幸いです。
y_shinoda

2020/10/28 02:54

話題はデータベースと Docker の問題から Rails とデータベースの問題になりつつあります 詳細なエラーメッセージ等の確認も必要なので postico からの閲覧に問題がなければ、 Rails の件は新たに質問を立て直し回答を求めた方が良いでしょう 新たに質問を投稿すると次のようなメリットもあります: - 質問者も回答者も新たにポイントを取得できます - すべての回答者が質問を確認し、回答が得られる確率が上がります - 検索でこの質問にたどり着いた人が質問のタイトルに対するシンプルな回答を得ることができ、質問に高評価が得られやすくなります
komati88

2020/10/29 21:32

今まで、質問に丁寧に対応していただきありがとうございます。 新たに質問を投稿しようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問