无法使用 postgres 和 docker 创建数据库

s7e0n5g1a

我试图使用命令在我的应用程序中创建一个数据库: php bin/console doctrine:database:create

之后我得到一个错误: An exception occurred in driver: SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432?

我的 docker-compose 文件如下所示:

version: '3'

services:

  php:
    container_name: symfony_php
    build:
      context: ./php
    volumes:
      - ./symfony/:/var/www/symfony/
    depends_on:
      - database
    networks:
      - symfony

  database:
    container_name: symfony_postgres
    image: postgres
    restart: always
    hostname: symfony_postgres
    environment:
      POSTGRES_DB: symfony_db
      POSTGRES_USER: root
      POSTGRES_PASSWORD: root
    ports:
      - "5432:5432"
    volumes:
      - ./postgres:/var/lib/postgres
    networks:
      - symfony

  pgadmin:
    container_name: symfony_pgadmin
    image: dpage/pgadmin4
    restart: always
    ports:
      - "5555:80"
    depends_on:
      - database
    links:
      - database
    environment:
      PGADMIN_DEFAULT_EMAIL: [email protected]
      PGADMIN_DEFAULT_PASSWORD: root
    networks:
      - symfony

  nginx:
    container_name: symfony_nginx
    image: nginx:stable-alpine
    build:
      context: ./nginx
      dockerfile: Dockerfile-nginx
    volumes:
      - ./symfony:/var/www/symfony
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php
      - database
    networks:
      - symfony

networks:
  symfony:

我没有使用任何 postgres 配置文件,根据 Symfony 文档,.env 中有一个配置行: DATABASE_URL="postgresql://root:[email protected]:5432/symfony_db?serverVersion=11&charset=utf8"

我运行 netstat 命令并得到:tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 我认为将我的本地主机地址绑定到我的应用程序服务器运行到 postgres 时存在问题。有谁知道,我该如何解决?

马克西姆

在 docker-compose 中,所有服务都可以通过它们的名字来访问。

您需要将数据库主机地址更改为数据库- 作为 docker-compose 中的服务名称

DATABASE_URL="postgresql://root:root@database:5432/symfony_db?serverVersion=11&charset=utf8"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

postgres和docker-compose:无法创建自定义角色和数据库

如何使用单个docker命令删除和重新创建postgres数据库?

使用多个postgres数据库为开发和生产创建docker容器

无法使用Docker连接我的postgres数据库

如何使用Postgres数据库,Docker和Kubernetes持久化数据?

Docker Postgres启动自动化由于错误而无法创建数据库

Postgres Docker映像未使用自定义名称创建数据库

Postgres-如何使用psql通过-c命令和密码验证来创建数据库?

使用liquibase创建Postgres数据库

使用python创建Postgres数据库

使用 postgres 连接并创建数据库

无法从 golang Docker 容器连接到 Postgres 数据库

Docker - 无法访问 postgres 数据库

Docker-Compose + Postgres:数据库和用户创建不起作用(无需撰写即可工作)

使用Django的Docker中的数据库Postgres?

如何使用Docker启动Postgres数据库

使用docker-compose自动创建数据库和表

Django无法创建与“ postgres”数据库的连接,而是将使用默认数据库

扩展docker postgres映像以创建额外的数据库

Docker-compose postgres 无法在新创建的数据库中初始化我的表

无法使用 docker 创建 mongo 数据库

无法使用默认的PostgreSQL Docker映像创建数据库

无法使用 pgadmin4 从 docker 连接到本地 postgres 数据库

无法使用 docker-compose 连接到 Postgres 数据库

如何使用 Docker 和 Docker Compose 从备份开始自动创建和运行“干净”的 SQL Server 数据库?

如何使用 SSL 和 Nodejs 为 Digital Ocean 托管的 Postgres 数据库创建连接池?

将MongoDB与Docker组合使用,无法从本地数据库认证和下载数据

使用 docker compose 创建表和方案 postgres

Postgres:创建数据库后无法连接到数据库吗?