Связь Inter docker работает в Ubuntu, но не в mac - PullRequest
0 голосов
/ 07 августа 2020

Это мой docker-compose.yml файл

services:
  postgres:
    image: "postgres:12"
    network_mode: bridge
    container_name: postgres
    volumes:
      - ./docker_data/postgres:/var/lib/postgresql/data
    environment:
        POSTGRES_DB: my_app
        POSTGRES_USER: postgres
        POSTGRES_PASSWORD: postgres
    expose:
      - 5432
    ports:
      - 5431:5432

  my-app:
    image: my-app:latest
    network_mode: bridge
    container_name: my-app
    expose:
      - 8000
    ports:
      - "127.0.0.1:8000:8000"
    restart: unless-stopped
    depends_on:
      - postgres
    links:
      - postgres

volumes:
    postgres-data:

Запуск docker-compose up на ubuntu открывается и успешно запускает docker контейнер, а my-app может подключаться к postgres и выполнять операции . Но то же самое на ma c дает эту ошибку -

Unable to obtain connection from database (jdbc:postgresql://postgres:5432/my_app) for user 'postgres': FATAL: the database system is starting up
Connection to postgres:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connection

Почему между Ubuntu и Ma c должна быть разница?!

Обновление

Оставив контейнер на некоторое время, я заметил, что теперь он может подключаться к postgres. Мои вызовы API тоже работают. Но при запуске контейнера docker возникает куча описанных выше ошибок, которые всплывают, а затем каким-то образом может подключиться к postgres. Это действительно странно.

...