无法使用TablePlus连接到正在运行的Laravel Sail Docker项目(角色不存在)
我创建了一个新的Laravel项目,并使用无法使用TablePlus连接到正在运行的Laravel Sail Docker项目(角色不存在),laravel,postgresql,docker,laravel-sail,Laravel,Postgresql,Docker,Laravel Sail,我创建了一个新的Laravel项目,并使用composer require Laravel/Sail--dev安装了Sail,然后是php artisan Sail:install和Sail up,以在Docker中启动并运行该项目 通过执行这些操作,我的.env文件从 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_docker DB_USERNAME=root DB_PASSWORD= 到 现在我
composer require Laravel/Sail--dev
安装了Sail,然后是php artisan Sail:install
和Sail up
,以在Docker中启动并运行该项目
通过执行这些操作,我的.env文件从
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_docker
DB_USERNAME=root
DB_PASSWORD=
到
现在我有两个正在运行的Docker容器:
laravel-docker_laravel.test_1
laravel-docker_pgsql_1
我能够使用sail artisan migrate
运行基本的用户迁移
接下来,我想将Tableplus(或Postco)与运行在Docker中的Postgresql数据库连接起来。因此,我填写了以下信息:
尝试连接时出现致命错误:角色“sail”不存在
有人能帮我吗
编辑1:添加一些终端命令的屏幕截图。我可以连接到docker容器中的数据库,查看表的列表,并从users表中获取包含所有行的表(使用Laravel Sail插入播种器)
编辑2:docker编写ps
多亏了我找到了一个有效的解决方案
在docker compose.yml
文件中更改为其他端口修复了该问题
之前:
pgsql:
image: 'postgres:13'
ports:
- '${FORWARD_DB_PORT:-5432}:5432'
之后:
pgsql:
image: 'postgres:13'
ports:
- '${FORWARD_DB_PORT:-5632}:5432'
在TablePlus中将端口号更改为
5632
后,我可以连接到数据库。将主机/套接字从localhost更改为pgsql会得到什么?@porloscerosψ错误消息“无法将主机名“pgsql”转换为地址:提供了nodename或servname,或者“未知”只是为了放弃。。。.env文件设置有效吗?也就是说,laravel可以连接到db?docker容器正在运行,我可以使用sail artisan migrate迁移基本用户表,所以我认为它可以工作。我可以再做一次检查。给我一分钟写一些代码来存储user@porloscerrosψ是的,我能够运行播种机并创建用户
pgsql:
image: 'postgres:13'
ports:
- '${FORWARD_DB_PORT:-5632}:5432'