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

Docker安装img2pdf遇python3-pkg-resources权限拒绝问题求助

问题分析

Mac M1 是 ARM64 架构,Ubuntu 22 服务器为 x86_64 架构,node:18 镜像在不同架构下的基础依赖配置存在差异。你遇到的 Python 权限错误和 pkg_resources 缺失问题,核心是安装 img2pdf 时的 Python 依赖未正确配置。

解决方案

修改后的 Dockerfile 如下,可解决架构兼容与依赖缺失问题:

# 针对x86_64架构的Ubuntu服务器指定平台,若服务器为ARM架构可删除--platform参数
FROM --platform=linux/amd64 node:18

# 一次性完成源更新、依赖安装与缓存清理,减少镜像层数并避免冗余依赖
RUN apt-get clean && apt-get update && \
    apt-get install -y --no-install-recommends \
        python3 \
        python3-pip \
        python3-setuptools \
        img2pdf \
        dcmtk && \
    apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY package.json ./

RUN yarn install

RUN yarn global add pm2

COPY . .
关键修改说明
  • 架构适配:通过 --platform=linux/amd64 确保镜像适配 x86_64 服务器,避免 ARM 架构镜像在 x86 机器上运行的兼容性冲突。
  • 补全Python依赖:pkg_resources 属于 python3-setuptools 包,安装该包与 python3-pip 可解决 img2pdf 安装时的依赖缺失问题。
  • 优化镜像构建:合并多个 apt-get 命令为一个,减少镜像层数;添加 --no-install-recommends 避免安装非必要依赖;最后清理 apt 缓存缩小镜像体积。
验证操作

在 Ubuntu 22 服务器上执行以下命令重新构建并测试:

# 构建镜像
docker build -t your-app-image .

# 测试容器启动
docker run --rm your-app-image

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:53:01