按Laravel文档安装Sail后构建容器失败,TLS握手超时如何解决
问题排查与解决步骤
1. 修复./vendor/bin/sail: No such file or directory报错
- 确认执行命令的工作目录为Laravel项目根目录,不可在子目录或上级目录执行该命令
- 执行
composer show laravel/sail验证sail安装状态,若无版本信息输出,重新执行composer require laravel/sail --dev完成安装
2. 修复Docker构建TLS握手超时报错
该错误核心为国内网络访问Docker Hub官方源不稳定,导致无法拉取ubuntu:21.04基础镜像,和docker登录状态、sail版本无关,按以下步骤操作:
- 配置Docker国内镜像源
新建/编辑/etc/docker/daemon.json文件,填入以下配置:
保存后执行{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ] }sudo systemctl restart docker重启Docker服务生效 - 手动预拉取基础镜像
执行docker pull ubuntu:21.04,确认镜像拉取成功后再执行sail相关命令 - 清理构建缓存重启sail
执行./vendor/bin/sail build --no-cache清理旧的构建缓存,完成后执行./vendor/bin/sail up -d启动服务
若配置镜像源后仍拉取失败,可临时修改项目根目录下
docker/[你选择的PHP版本号]/Dockerfile的首行基础镜像地址,替换为国内镜像站的ubuntu:21.04镜像,构建成功后可按需改回官方地址
内容的提问来源于stack exchange,提问作者LesiJin
相关产品推荐
相关产品推荐

