Docker中Laradock部署的PostgreSQL连接与Laravel迁移配置咨询
Laradock PostgreSQL 问题解决方案
一、获取PostgreSQL数据库凭证
Laradock的PostgreSQL凭证可通过以下方式获取:
- 查看Laradock目录下的
.env文件(未复制配置则看env-example),搜索POSTGRES_开头的配置项:POSTGRES_DB:默认数据库名(通常为default)POSTGRES_USER:默认用户名(通常为default)POSTGRES_PASSWORD:默认密码(通常为secret)
- 进入容器验证:
执行命令:docker exec -it laradock_postgres_1 bash
进入后用psql登录:psql -U default default,输入默认密码secret即可验证权限。
二、连接TablePlus等数据库GUI工具
从docker ps输出可知,容器已将主机5432端口映射至容器5432端口,直接用以下参数连接:
- 主机:你的服务器公网IP(本地开发环境用
localhost) - 端口:
5432 - 用户:上述获取的
POSTGRES_USER(默认default) - 密码:上述获取的
POSTGRES_PASSWORD(默认secret) - 数据库:上述获取的
POSTGRES_DB(默认default)
注意:若服务器开启防火墙,需开放5432端口的入站权限
三、执行Laravel的php artisan migrate命令
- 配置Laravel项目的
.env文件,确保数据库参数与PostgreSQL凭证一致:
DB_CONNECTION=pgsql DB_HOST=postgres # Laradock容器间通过服务名通信,直接填写postgres DB_PORT=5432 DB_DATABASE=default DB_USERNAME=default DB_PASSWORD=secret
- 进入Laradock的workspace容器执行迁移:
执行命令进入容器:docker exec -it laradock_workspace_1 bash
切换至Laravel项目目录(如/var/www/your-project),执行:
或直接在宿主机执行快捷命令:php artisan migratedocker-compose exec workspace php artisan migrate
内容的提问来源于stack exchange,提问作者john
相关产品推荐
相关产品推荐

