在Docker中运行Linux Alpine 3.6的M2Crypto ImportError

尝试在Linux Alpine 3.6上使用时遇到M2Crypto ImportError。 想知道是否有人遇到过这个问题,以及他们是否可以对这种情况如何发生以及他们如何解决问题有所了解。 任何帮助将不胜感激,谢谢!

重现步骤:

#Dockerfile FROM alpine:3.6 RUN apk update RUN apk add python2 python2-dev py-pip RUN apk add ca-certificates \ cyrus-sasl-dev \ gcc \ libffi-dev \ libmemcached-dev \ libxml2-dev \ musl-dev \ openssl \ postgresql-dev \ linux-headers \ wget \ xmlsec \ xmlsec-dev RUN pip install M2Crypto==0.25.1 

从那里,使用以下命令构build并运行容器:

 docker build -t test . && docker run -it --name test-container test /bin/sh 

最后一步是运行python解释器并从M2Crypto导入:

 / # python Python 2.7.13 (default, Apr 20 2017, 12:13:37) [GCC 6.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from M2Crypto import X509, EVP, RSA, ASN1 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/site-packages/M2Crypto/__init__.py", line 26, in <module> from M2Crypto import (ASN1, AuthCookie, BIO, BN, DH, DSA, EVP, Engine, Err, File "/usr/lib/python2.7/site-packages/M2Crypto/ASN1.py", line 15, in <module> from M2Crypto import BIO, m2, util File "/usr/lib/python2.7/site-packages/M2Crypto/BIO.py", line 10, in <module> from M2Crypto import m2, util File "/usr/lib/python2.7/site-packages/M2Crypto/m2.py", line 30, in <module> from M2Crypto._m2crypto import * File "/usr/lib/python2.7/site-packages/M2Crypto/_m2crypto.py", line 26, in <module> __m2crypto = swig_import_helper() File "/usr/lib/python2.7/site-packages/M2Crypto/_m2crypto.py", line 22, in swig_import_helper _mod = imp.load_module('__m2crypto', fp, pathname, description) ImportError: Error relocating /usr/lib/python2.7/site-packages/M2Crypto/__m2crypto.so: SSLv2_method: symbol not found