Aplicación Dockerize Rails con Postgres: problema de conexión a Postgres

Tengo una aplicación Rails con Postgres y tengo problemas para ejecutar la aplicación en Docker. He seguido alrededor de 20 tutoriales en línea y videos de YouTube donde explican cómo dockerizar una aplicación de Rails y hago exactamente lo mismo que ellos y funciona para ellos, pero no funciona para mí. me sale un error:

could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Couldn't create 'bikeramp_development' database. Please check your configuration.
rails aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Haga lo que haga, simplemente no funciona. Ya he probado de todo y no entiendo porque les funciona a ellos y a mi no me funciona. Aquí está mi Dockerfile:

FROM ruby:2.6.4-alpine
RUN echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
RUN apk update && apk upgrade && apk add build-base && apk --no-cache add \
  tzdata \
  bash \
  git \
  libstdc++ \
  ca-certificates \
  libffi-dev \
  postgresql-dev \
  postgresql-client \
  linux-headers \
  libpq \
  openssh \
  file \
  libxml2-dev \
  curl \
  nodejs \
  gmp-dev \
  musl \
  shared-mime-info \
  && echo ‘gem: --no-document’ > /etc/gemrc

RUN mkdir /app
WORKDIR /app

COPY Gemfile /app/Gemfile
COPY Gemfile.lock /app/Gemfile.lock

RUN gem install bundler:2.2.24
RUN bundle config set --local without 'development test'
RUN bundle install

COPY . /app

ENTRYPOINT ["./entrypoints/docker-entrypoint.sh"]

EXPOSE 3000

Este es mi docker-compose.yml

version: '3'
services:
  web:
    build: .
    command: bundle exec rails s -p 3000 -b 0.0.0.0
    ports:
      - "3000:3000"
    volumes:
      - .:/app
    environment:
      REDIS_URL: redis://redis:6379
    depends_on:
      - database
      - redis

  database:
    image: postgres:12.1
    volumes:
      - "dbdata:/var/lib/postgresql/data"
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_PASSWORD=password
  redis:
    image: redis:latest
    ports:
      - "6379:6379"

volumes:
  dbdata:

Esta es mi configuración/base de datos.yml

default: &default
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: postgres
  password: password
  pool: 5

development:
  <<: *default
  database: bikeramp_development

test:
  <<: *default
  database: bikeramp_test

Estoy en Mac, docker versión 20.10.11, compilación dea9396. Aprecio tu ayuda.

ACTUALIZACIÓN: incluso puse este comando después de COPIAR. /aplicación

RUN mv config/database.yml.docker config/database.yml

pero el archivo no se renombra.

Answer