运行Docker镜像时出现libpython3.10.so.1.0缺失错误,求解决方法
解决Docker中AWS CLI依赖缺失错误
错误原因
该错误源于通过pip安装的AWS CLI与Alpine Linux的musl libc环境不兼容,且后续删除pip后,AWS CLI运行所需的Python动态链接库依赖出现缺失。
解决方案
直接使用Alpine官方软件包仓库中的awscli安装,而非通过pip安装,这样能自动处理所有依赖兼容问题:
修改后的Dockerfile
FROM node:16.17.1-alpine RUN apk update && apk add git openssh-client vim python3 awscli jq # 移除pip安装awscli及删除pip的步骤,改用apk直接安装适配Alpine的awscli包 RUN apk add --no-cache yarn RUN rm /var/cache/apk/* WORKDIR /app COPY package*.json ./ COPY yarn.lock ./ RUN yarn install --frozen-lockfile COPY . . RUN yarn build EXPOSE 3000 CMD ["sh", "startup.sh"]
关键修改点
- 删除
pip install awscli和apk --purge -v del py-pip两步操作 - 在
apk add命令中直接加入awscli,Alpine会自动安装适配musl libc的版本及对应的Python依赖库
修改后,AWS CLI运行时就能找到正确的libpython3.10.so.1.0库文件,不会再出现符号缺失的问题。
内容的提问来源于stack exchange,提问作者David Faizulaev
相关产品推荐
相关产品推荐

