Hea*_*ico 1 postgresql laravel docker laravel-sail
我使用 PostgreSQL 创建了一个 laravel sail 项目,然后尝试连接第 3 方软件(TablePlus 和 Navicat)上的服务器,我收到此错误消息
FATAL: password authentication failed for user "sail"
Run Code Online (Sandbox Code Playgroud)
这是我的 docker-compose.yml
pgsql:
image: 'postgres:13'
ports:
- '${FORWARD_DB_PORT:-5432}:5432'
environment:
PGPASSWORD: '${DB_PASSWORD:-secret}'
POSTGRES_DB: '${DB_DATABASE}'
POSTGRES_USER: '${DB_USERNAME}'
POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
volumes:
- 'sailpgsql:/var/lib/postgresql/data'
networks:
- sail
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "${DB_DATABASE}", "-U", "${DB_USERNAME}"]
retries: 3
timeout: 5s
Run Code Online (Sandbox Code Playgroud)
这是我的环境
DB_CONNECTION=pgsql
DB_HOST=pgsql
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password
Run Code Online (Sandbox Code Playgroud)
这是全新安装,我没有做任何更改。它与 MySQL 一起使用,我错过了什么吗?谢谢..
从源代码控制克隆我的 Laravel Sail 项目后,我也遇到了这个问题。我发现错误的原因是我在将 DB_PASSWORD 添加到新的 .env 文件之前下载了 Sail 并启动了容器。尽管这被标记为已解决,但我还是会发布此内容,以防其他人遇到此问题的原因。
要修复该错误:
sail down
docker volume ls
docker volume rm example-app_sailmysql
sail up -d
Run Code Online (Sandbox Code Playgroud)
^ 将“example-app_sailmysql”替换为您的 Docker 卷的名称
在弄清楚克隆 Laravel Sail 项目时的所有问题后,我制定了一个要点,其中包含要遵循的步骤。它还包含一个脚本,可以轻松安装 Composer 依赖项,以重新获得对 Sail 二进制文件的访问权限。
https://gist.github.com/LaurenceRawlings/3b4f801cafb2e683f45a3b573dad868d
| 归档时间: |
|
| 查看次数: |
3177 次 |
| 最近记录: |