Докер Symfony не может подключиться к Postgresql - PullRequest
0 голосов
/ 01 мая 2018

Произошла ошибка при попытке доступа к базе данных Postgresql:

(6/6) ConnectionException
    An exception occurred in driver: SQLSTATE[08006] [7] could not connect to server: Connection refused
    Is the server running on host "db" (172.18.0.2) and accepting
    TCP/IP connections on port 5433?

Я не добавил имя базы данных в docker-compose.yml, потому что хочу создать его с помощью консоли. я попытался изменить порт на 5432, так что он говорит мне, что patabse не существует, поэтому, когда я пытаюсь создать его из командной строки, я получаю эту ошибку:

SQLSTATE[08006] [7] could not translate host name "db" to address: Name or service not known

parameters.yml

parameters:
    database_host: db
    database_port: 5433
    database_name: pfe
    database_user: admin
    database_password: admin

докер-compose.yml

version: '2'
services:  

  front:
    image: nginx
    ports:
      - "81:80"
    links:
      - "engine:engine"
    volumes:
      - ".:/home/docker:ro"
      - "./docker/front/default.conf:/etc/nginx/conf.d/default.conf:ro"

  engine:
    build: ./docker/engine/
    volumes:
      - ".:/home/docker:rw"
      - "./docker/engine/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro"
    links:
      - "db:db"
    working_dir: "/home/docker"

  db:
    image: camptocamp/postgres:9.6
    ports:
      - "5433:5432"
    environment:
      - "POSTGRES_PASSWORD=admin"
      - "POSTGRES_USER=admin"
      - "PGDATA=/var/lib/postgresql/data/pgdata"

1 Ответ

0 голосов
/ 01 мая 2018

Как часть anwser, если я наберу php bin/console doctrine:database:create, он запустит php, установленный на моем компьютере, который не знает хоста db, объявленного в docker-compose.yml. Вот почему нам нужно запустить PHP в Docker. Так что в моем случае это будет:

docker-compose exec engine bin/console doctrine:database:create

Это только часть anwser, и приложение работает нормально с портом 5432, но я хочу использовать другой порт, и мне нужна помощь.

...