невозможно подключиться к локальному postgres из docker контейнера - PullRequest
0 голосов
/ 17 марта 2020

У меня есть несколько docker контейнеров, таких как php, nginx, et c. А также имеют postgres локально, потому что я узнал, что дабатаз внутри docker контейнера - плохая практика. Но я не могу подключиться к локальному postgres из docker контейнера.

На данный момент я сделал следующее

In postgresql .conf Я изменил listen_addresses

listen_addresses = '*'

In pg_hba.conf Я добавил следующую строку

host    all     all     0.0.0.0/0       md5

Я выполнил следующую команду для iptables

iptables -I INPUT -p tcp -m tcp -s 0.0.0.0 --dport 5432 -j ACCEPT

Затем я перезапустил postgres.

Моя конфигурация базы данных

DB_CONNECTION=pgsql
DB_HOST=my_server_ip_address
DB_PORT=5432
DB_DATABASE=mydbname
DB_USERNAME=mydbuser
DB_PASSWORD=mydbpasswd

Но я все еще не могу подключиться к posgre sql. В то же время я могу подключиться к postgres через psql или phpstorm

My docker -compose.yml

version: '3.7'

networks:
  backend-network:
    driver: bridge
  frontend-network:
    driver: bridge

services:
  &app-service app: &app-service-template
    container_name: k4fntr_app
    build:
      context: ./docker/php-fpm
      args:
        UID: ${UID?Use your user ID}
        GID: ${GID?Use your group ID}
        USER: ${USER?Use your user name}
    user: "${UID}:${GID}"
    hostname: *app-service
    volumes:
      - /etc/passwd/:/etc/passwd:ro
      - /etc/group/:/etc/group:ro
      - ./:/var/www/k4fntr
    environment:
      APP_ENV: "${APP_ENV}"
      CONTAINER_ROLE: app
      FPM_PORT: &php-fpm-port 9000
      FPM_USER: "${UID:-1000}"
      FPM_GROUP: "${GID:-1000}"
    networks:
      - backend-network

  &queue-service queue:
    <<: *app-service-template
    container_name: k4fntr_queue
    restart: always
    hostname: *queue-service
    depends_on:
      - app
    environment:
      CONTAINER_ROLE: queue

  &schedule-service schedule:
    <<: *app-service-template
    container_name: k4fntr_schedule
    restart: always
    hostname: *schedule-service
    depends_on:
      - app
    environment:
      CONTAINER_ROLE: scheduler

  &sportlevel-listener sportlevel_listener:
    <<: *app-service-template
    container_name: k4fntr_sl_listener
    restart: always
    hostname: *sportlevel-listener
    ports:
      - "${SPORTLEVEL_LISTEN_PORT}:${SPORTLEVEL_LISTEN_PORT}"
    depends_on:
      - app
    environment:
      CONTAINER_ROLE: sl_listener

  &php-fpm-service php-fpm:
    <<: *app-service-template
    container_name: k4fntr_php-fpm
    user: 'root:root'
    restart: always
    hostname: *php-fpm-service
    ports: [*php-fpm-port]
    entrypoint: /fpm-entrypoint.sh
    command: php-fpm --nodaemonize
    networks:
      - backend-network
      - frontend-network

  echo-server:
    container_name: k4fntr_echo
    image: oanhnn/laravel-echo-server
    volumes:
     - ./:/app
    environment:
      GENERATE_CONFIG: "false"
    depends_on:
      - app
    ports:
      - "6001:6001"
    networks:
      - backend-network
      - frontend-network

  nginx:
    container_name: k4fntr_nginx
    image: nginx
    volumes:
    - ./docker/nginx/config:/etc/nginx/conf.d
    - ./:/var/www/k4fntr
    depends_on:
      - *php-fpm-service
    ports:
      - "${NGINX_LISTEN_PORT}:80"
    networks:
      - frontend-network

  redis:
    container_name: k4fntr_redis
    image: redis
    restart: always
    command: redis-server
    volumes:
      - ./docker/redis/config/redis.conf:/usr/local/etc/redis/redis.conf
      - ./docker/redis/redis-data:/data:rw
    ports:
      - "16379:6379"
    networks:
      - backend-network
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...