新Ubuntu系统下无法启动基于Laravel的Docker容器求助
解决Laravel Sail+Redis Docker配置启动失败问题
结合你遇到的情况(全新Ubuntu环境、复制旧项目配置报错、docker ps无输出),按以下步骤排查:
1. 修复Docker用户权限
全新Ubuntu安装Docker后,普通用户默认没有操作Docker的权限,这是容器启动失败的高频原因。执行命令把当前用户加入docker组:
sudo usermod -aG docker $USER
必须注销再重新登录系统,让权限变更生效。
2. 确保Docker服务正常运行
检查Docker服务状态,没启动的话手动开启:
# 启动Docker服务 sudo systemctl start docker # 设置开机自动启动 sudo systemctl enable docker # 查看服务状态,确认显示active (running) systemctl status docker
3. 替换适配新环境的Sail配置
旧项目的docker-compose.yml可能和当前Laravel/Sail版本不兼容,建议重置配置:
# 清理旧容器、卷和依赖 docker-compose down -v rm -rf vendor composer.lock # 重新安装Sail并生成适配配置 composer require laravel/sail --dev php artisan sail:install # 交互时选择Redis服务 # 后台启动容器 ./vendor/bin/sail up -d
4. 检查端口占用情况
Redis默认的6379端口如果被其他程序占用,会导致容器启动失败,排查命令:
sudo lsof -i :6379
如果有进程占用,要么杀掉对应进程,要么修改docker-compose.yml里Redis的端口映射,比如改成6380:6379。
5. 查看日志定位具体错误
如果以上步骤都没解决,查看容器日志找细节:
# 查看Redis服务日志 ./vendor/bin/sail logs redis # 查看Laravel应用容器日志 ./vendor/bin/sail logs laravel.test
内容的提问来源于stack exchange,提问作者SoyNeko
相关产品推荐
相关产品推荐

