在我的symfony项目中,我为postgresql创建了一个docker容器:
php:
build:
context: "."
dockerfile: ./docker/php/Dockerfile
volumes:
- .:/var/www/symfony:rw
depends_on:
- postgres
postgres:
image: postgres:13-alpine
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: root
POSTGRES_DB: mydb
ports: [5432]
在我的.env文件中,我尝试连接到数据库如下:
DATABASE_URL="postgresql://root:root@postgres:5432/mydb?serverVersion=15&charset=utf8"
当我尝试迁移到数据库时,我收到以下错误:
[critical] Error thrown while running command "make:migration". Message: "An exception occurred in the driver: SQLSTATE[08006] [7] could not translate host name "postgres" to address: nodename nor servname provided, or not known"
我错过了什么?
1条答案
按热度按时间2ic8powd1#
我认为您错过了设置内部容器网络。它不是默认设置。
将
php
和postgres
服务加入网络(例如internal
):网络定义的最后一点故意留为空白-我们假设默认网桥模式,但您可以定义任何您喜欢的模式。