11

この小さなDockerfileがあります

FROM alpine:3.3
RUN apk --update add python
CMD ["python", "-c", "import urllib2; response = urllib2.urlopen('https://www.python.org')"]

でビルドしてdocker build -t alpine-py/01 .から実行するとdocker run -it --rm alpine-py/01、次の出力が作成されます

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 431, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 449, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1240, in https_open
    context=self._context)
  File "/usr/lib/python2.7/urllib2.py", line 1197, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>

昨日、私は最近の OpenSSL 1.0.2g リリースに噛まれて、py-cryptograpyコンパイルできなくなりました。幸いなことにpy-cryptography、数時間後に PyPI の新しいバージョンがリリースされました。問題は、OpenSSL の関数が新しい署名を取得したことでした。

これは関連している可能性がありますか、それとも何か不足していますか?

4

2 に答える 2

1

libssl をパッチでアップグレードする必要があるため、Alpine をアップグレードする必要があります。

FROM alpine:3.3
RUN apk -U upgrade && \
    apk -U add python ca-certificates && \
    update-ca-certificates
CMD ["python", "-c", "import urllib2; response = urllib2.urlopen('https://www.python.org')"]

apk -U upgrade はこれらをアップグレードします:

  • libcrypto1.0 (1.0.2e-r0 -> 1.0.2g-r0)
  • libssl1.0 (1.0.2e-r0 -> 1.0.2g-r0)
于 2016-03-24T16:59:29.693 に答える