首页 > 解决方案 > 尝试将 docker 与 PostgreSQL 一起用于 Windows 10 pro 的 Symfony 项目

问题描述

我想在 docker 容器中使用 PostgreSQL 作为我的数据库,但是当我想在我的终端中进行迁移时。

docker-compose exec php-fpm php bin/console d:s:u

我得到一个错误是:

在 AbstractPostgreSQLDriver.php 第 73 行
中:驱动程序中发生异常:SQLSTATE[08006] [7] 无法将主机名“数据库”转换为地址:没有与主机名关联的地址
在 PDOConnection.php 第 31 行中:
SQLSTATE[08006] [7]无法将主机名“数据库”转换为地址:没有与主机名关联的地址
在 PDOConnection.php 第 27 行:
SQLSTATE[08006] [7] 无法将主机名“数据库”转换为地址:没有与主机名关联的地址

试图更改我的端口,数据库名称,但没有任何效果......我在 Windows 10 Pro 上,它适用于 Ubuntu 和 Mac OS,但不适用于我的操作系统。

这是我的 .env 用于连接我的数据库:

DATABASE_URL=postgresql://symfony:password@database:5432/symfony?serverVersion=11&charset=utf8

Ans 这是我的 docker-compose.yml:

version: '3.5'
services:
    nginx:
        build: _docker/nginx
        restart: always
        ports:
            - '8080:80'
        volumes:
            - './:/usr/share/nginx/html'
        depends_on:
            - php-fpm
    php-fpm:
        build: _docker/php
        restart: always
        volumes:
            - './:/usr/share/nginx/html:consistent'
        depends_on:
            - database
    adminer:
        image: 'adminer:4.7'
        restart: always
        ports:
            - '8081:8080'
        depends_on:
            - database
    composer:
        image: 'composer'
        command: install
        volumes:
            - './:/app'
        depends_on:
            - php-fpm
    database:
        image: 'postgres:11.5'
        #        restart: always
        volumes:
            - ./_docker/postgresql:/var/lib/postgresql/data:consistent
        ports:
            - '25000:5432'
        environment:
            - PGDATA=/var/lib/postgresql/data/pgdata
            - POSTGRES_DB=symfony
            - POSTGRES_USER=symfony
            - POSTGRES_PASSWORD=password

标签: phppostgresqldockersymfony

解决方案


推荐阅读