アウトプットログ

チラシの裏からの脱出に向かう線形のブログ

Docker + Rails + Postgres + Heroku UPまで

まずはこちらの記事を参照させていただきました。

qiita.com

書かれているとおりに進めて、 $ docker-compose up

をしたところでこんなエラーが出ます:

db_1   | Error: Database is uninitialized and superuser password is not specified.
db_1   |        You must specify POSTGRES_PASSWORD to a non-empty value for the
db_1   |        superuser. For example, "-e POSTGRES_PASSWORD=password" on "docker run".
db_1   | 
db_1   |        You may also use "POSTGRES_HOST_AUTH_METHOD=trust" to allow all
db_1   |        connections without a password. This is *not* recommended.
db_1   | 
db_1   |        See PostgreSQL documentation about "trust":
db_1   |        https://www.postgresql.org/docs/current/auth-trust.html

docker-compose.ymlのdbの箇所を下記のように書き換えました:

services:
  db:
    image: postgres
    environment:
      POSTGRES_HOST_AUTH_METHOD: 'trust'

参照記事:

PostgresのDockerImageに変更があって起動ができなくなった話 - Qiita

今度はlocalhostで立ち上げると、 FATAL: database "myapp_development" does not exist というエラーが出ます。

データベースが無いのか、ということで

$ docker-compose run web rails db:create
$ docker-compose up

をしたところ、無事ローカルでアプリケーションが起動しました。 f:id:araquan:20200224214117p:plain

その後、元の参照記事に従いHerokuへデプロイを試しましたが、まだ何も作っていないからなのか

$ heroku container:release web
$ heroku open

をしても確認できるのはHerokuの画面のみですね。これで良いのだろうか・・?

f:id:araquan:20200224220144p:plain