Docker构建停滞求助:Laradock构建Workspace阶段被中断
Laradock构建workspace服务时在nvm下载步骤阻塞并取消
问题详情
执行Laradock构建命令:
docker-compose build nginx php-fpm workspace mysql redis redis-webui adminer;
构建流程在workspace服务的第52步被取消,相关错误信息如下:
CACHED [workspace 50/116] RUN if [ false = true ]; then if [ 8.3 != "8.3" ] && [ 8.3 != "8.0" ]; then curl -L -o /tmp/ioncube_loaders_lin 0.0s CACHED [workspace 51/116] RUN if [ false = true ]; then apt-get -y install mysql-client && curl https://github.com/hechoendrupal/drupal-console-1 0.0s CANCELED[workspace 52/116] RUN if [ true = true ]; then mkdir -p /home/laradock/.nvm && curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/ 228.0s
常见原因
- 网络访问受限:
raw.githubusercontent.com属于境外资源,国内网络或受限网络环境下访问易超时,导致下载卡住最终被取消。 - DNS解析失败:无法正确解析目标域名,导致请求无法正常发送到服务器。
- 网络不稳定:下载过程中出现断连,触发请求超时终止。
解决办法
- 临时跳过nvm安装:修改Laradock根目录下的
.env文件,设置WORKSPACE_INSTALL_NODE=false,重新执行构建命令,跳过nvm下载步骤。 - 替换国内镜像加速:找到Laradock/workspace目录下的Dockerfile,将nvm下载的curl命令替换为国内镜像源,例如把原URL替换为
https://cdn.jsdelivr.net/gh/nvm-sh/nvm@v0.39.7/install.sh(注意匹配原命令中的版本号)。 - 手动下载脚本本地构建:先将nvm的
install.sh脚本下载到本地,再修改Dockerfile,用本地文件替换远程下载,示例:COPY install.sh /tmp/install.sh RUN mkdir -p /home/laradock/.nvm && bash /tmp/install.sh - 调整网络环境:切换到可正常访问境外资源的网络,或配置Docker代理设置,确保构建过程能拉取目标资源。
内容的提问来源于stack exchange,提问作者ovyxdiu
相关产品推荐
相关产品推荐

