👮

M1macのdockerでpoetryが入らない話

2023/04/04に公開

概要

M1mac上でDockerを使って環境構築をしている時、poetryが以下のコマンドで入らない
なお、ベースイメージはpython:3.9.6-buster

$ curl -sSL https://install.python-poetry.org |  python - 

詳しくみてみると、

$ curl -sSL https://install.python-poetry.org

segmentation faultで落ちていることがわかった。

原因

OpenSSLのバージョンが古いこと。

対応

Dockerfileの中に、以下を記述

if [ `uname -m` =  "aarch64" ]; then \
    cd /tmp &&\
    wget https://www.openssl.org/source/openssl-1.1.1m.tar.gz &&\
    tar -xvf openssl-1.1.1m.tar.gz && \
    cd openssl-1.1.1m &&\
    ./config --prefix=/usr --openssldir=/usr/lib/ssl --libdir=/usr/lib/aarch64-linux-gnu &&\
    make -j && make install;\
fi \

armであることを判別して、新しいopensslをインストールする処理を追加している。

Discussion