Произошла ошибка при попытке доступа к базе данных 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, поэтому он сообщает мне, что pfe базы данных не существует, поэтому, когда я пытаюсь создать его в командной строке, я получаю эту ошибку:
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
docker-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"
В рамках anwser, если я наберу php bin/console doctrine:database:create
, он запустит php, изначально установленный на моем компьютере, который не знает хоста db, объявленного в docker-compose.yml. Вот почему нам нужно запустить php в докере.
Итак, в моем случае это будет:
docker-compose exec engine bin/console doctrine:database:create
This is only a part of the anwser and the app is working fine with the port 5432, but i want to use another port and i need help.