[用python容器在docker中安装libxml

问题描述 投票:0回答:1

我遇到了libxml的依赖项问题,当使用python创建docker容器时,从ubuntu映像安装依赖项lib:

# pull official base image
FROM python:3.8.0-alpine

# set work directory
WORKDIR /usr/src/app

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

FROM ubuntu:16.04
RUN apt-get update -y
RUN apt-get install g++ gcc libxml2 libxslt-dev -y
# install dependencies

FROM python:3.8.0-alpine
RUN pip install --upgrade pip
COPY requirements.txt .
RUN pip install -r requirements.txt

# copy project
COPY . /usr/src/app/

得到此编译输出错误:

在库libxml2中找不到函数xmlCheckVersion。是否已安装libxml2?

python docker pip libxml2
1个回答
0
投票
您正在ubuntu中安装这些软件包,而不是alpine。在构建器模式中,您需要将文件从构建器层复制到运行时层。但是,ubuntu!= alpine,因此编译后的二进制文件将不起作用。

您将需要利用apk安装程序将这些软件包添加到高山层:

... RUN apk update && apk add g++ gcc libxml2 libxslt-dev RUN python -m pip install --upgrade pip ...

© www.soinside.com 2019 - 2024. All rights reserved.