You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于alpine-chrome构建Docker镜像时print-to-pdf写入文件失败排查

Chrome生成PDF报错“无此文件或目录”的排查方案

可能原因及解决办法

1. 权限问题大概率是元凶

  • 先查容器里/tmp目录的权限:执行ls -ld /tmp查看权限位,要是当前运行Chrome的用户(比如非root用户)没读写权限,肯定写不了文件。
  • 测试阶段可以先切换到root用户执行命令,或者临时给/tmp开全局读写权限(chmod 777 /tmp,生产环境谨慎使用,测试后恢复原有权限)。

2. 命令里的引号坑了你

你写的--print-to-pdf='/tmp/test.pdf'带了单引号,shell会把带引号的整个字符串当成路径,Chrome就会去找'/tmp/test.pdf'(连引号一起),自然找不到目标路径。直接改成--print-to-pdf=/tmp/test.pdf即可。

3. /tmp目录本身有问题

  • 先确认容器里/tmp存在:执行ls /tmp查看,要是目录都不存在,肯定没法写入文件。
  • 要是启动容器时用-v参数把本地目录挂载到了容器/tmp,得检查本地对应的目录是否存在、权限是否足够,否则容器里的/tmp相当于挂载了一个空的或不可写的目录。

4. 环境变量搞鬼

有时候Chrome运行时的TMPDIR环境变量被修改,导致它没往默认的/tmp目录写入。执行echo $TMPDIR查看这个变量指向的路径,确保对应的目录存在且可写。

内容的提问来源于stack exchange,提问作者Fred Hors

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 18:45:26