为何Dockware的make watch-storefront命令下载Chromium速度极慢?
解决Dockware容器内
make watch-storefront下载Chromium缓慢的问题 可能的原因
- 容器默认使用国外的Chromium/Puppeteer下载源,国内网络访问这类源链路长、延迟高,导致小文件也下载缓慢。
- 容器内的npm/yarn包管理工具默认源为国外服务器,依赖下载时网络瓶颈明显。
- 宿主机网络环境的国际带宽受限,或未配置有效的网络代理。
提速方法
替换国内npm及Chromium镜像源
进入Dockware容器后,执行以下命令修改配置:# 设置npm国内镜像源 npm config set registry https://registry.npmmirror.com # 设置Chromium下载镜像源 npm config set puppeteer_download_host=https://npmmirror.com/mirrors之后重新执行
make watch-storefront,下载请求会走国内镜像,速度会大幅提升。本地预下载Chromium后挂载到容器
- 先确定当前项目需要的Chromium版本(可从容器内的
package.json或puppeteer配置中查看)。 - 从国内镜像站下载对应版本的Chromium压缩包并解压。
- 在宿主机创建目录存放解压后的文件,通过Docker挂载将该目录映射到容器内的
node_modules/puppeteer/.local-chromium路径(具体路径可根据容器内实际情况调整)。 - 重新执行
make watch-storefront,命令会直接使用本地挂载的Chromium,无需重新下载。
- 先确定当前项目需要的Chromium版本(可从容器内的
为容器配置网络代理
如果宿主机有可用的代理服务,启动容器时添加代理环境变量:docker run -d \ -e HTTP_PROXY=http://你的代理地址:端口 \ -e HTTPS_PROXY=http://你的代理地址:端口 \ # 其他Dockware启动参数 dockware/dev:latest容器内的所有网络请求都会走代理,包括Chromium的下载请求。
修改Dockware启动配置,默认配置国内源
编辑Dockware的docker-compose.yml文件,在services下的容器配置中添加command字段,自动执行源配置命令:services: shopware: image: dockware/dev:latest command: > bash -c "npm config set registry https://registry.npmmirror.com && npm config set puppeteer_download_host=https://npmmirror.com/mirrors && /entrypoint.sh" # 其他配置项这样每次启动容器时都会自动配置好国内源,无需手动操作。
内容的提问来源于stack exchange,提问作者Timo
相关产品推荐
相关产品推荐

