【问题标题】:install libxml in docker with python container使用 python 容器在 docker 中安装 libxml
【发布时间】:2020-03-25 18:03:45
【问题描述】:

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

# 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】:

    您正在 ubuntu 中安装这些软件包,但不是 alpine。在构建器模式中,您需要将文件从构建器层复制到运行时层。但是,ubuntu != alpine,因此编译的二进制文件将不起作用。

    您需要利用 apk 安装程序将这些包添加到 alpine 层:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-18
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      • 2020-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多