【问题标题】:Proper dockerfile for google app engine with libraries带有库的谷歌应用引擎的正确 dockerfile
【发布时间】:2015-11-06 15:28:13
【问题描述】:

我正在尝试将我的应用从 Google App Engine 迁移到具有托管 VM 的 Compute Engine。根据文档,我只需要在我的 app.yaml 中添加 vm: true 和不同的实例规范即可让事情正常进行。

不幸的是,我在尝试导入 lxml 时收到 ImportError: libxslt.so.1: cannot open shared object file: No such file or directory。我在 app.yaml 中有一个所需库的列表,当我将我的应用部署到 App Engine 时它​​可以工作。

下一步,我尝试创建自己的 docker 文件,它将安装所有需要的库。现在看起来像这样:

FROM beta.gcr.io/google_appengine/python-compat
RUN apt-get -q update && \
 apt-get install --no-install-recommends -y -q \
   python2.7 python-pip python-dev build-essential git mercurial \
   libffi-dev libssl-dev libxml2-dev \
   libxslt1-dev libpq-dev libmysqlclient-dev libcurl4-openssl-dev \
   libjpeg-dev zlib1g-dev libpng12-dev && \
 apt-get clean && rm /var/lib/apt/lists/*_*
RUN pip install lxml==2.3.5
ADD . /app

现在我收到新错误ImportError: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.14' not found (required by /home/vmagent/app/lib/lxml/etree.so)。将 libc6 添加到 apt-get 的包列表中不会改变任何东西,所以我没有这个想法。

那么我怎样才能让我的应用在这里工作呢?

【问题讨论】:

标签: python google-app-engine google-compute-engine dockerfile


【解决方案1】:

你必须安装这个包,这个包负责libc.so.6

yum install libtidy glibc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-19
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2011-10-20
    • 2011-05-06
    相关资源
    最近更新 更多