php - 尝试将 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
解决方案
推荐阅读
- python - 设计代码来处理由通用函数处理的特定错误消息
- excel - VBA宏:如果匹配通配符,则将数据复制到特定工作表
- c# - Nuget 包内容文件未复制到 .NET Core 项目
- c# - 将图例添加到 winforms 点图
- php - 使用 laravel 在表单中返回选定的值
- python - AWS Rekognition 检测标签无效的图像编码错误
- android - 如何在 Android XML 中绘制圆弧?
- php - CodeIgniter 使用 join 和 if 语句更新数据库
- xml - Magento 2 Wishlist 头衔
- python - 从 pandas df 中选择特定列