DockerでOpenCVの環境を作る

私の方針として、プロジェクトごとにDockerfileを作って、コンテナ上でプログラムを動かしています。
研究分野上、OpenCVを利用することが多いので、それを前提としたDockerfileのテンプレートをメモします。

FROM python:3.8.0

RUN apt-get update && apt-get upgrade -y
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools

# OpenCV
RUN apt-get install -y libgl1-mesa-glx libglib2.0-0 libsm6 libxrender1 libxext6
RUN pip install opencv-python
RUN pip install opencv-contrib-python

# pip
WORKDIR /tmp
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt

WORKDIR /workdir

# clearn
RUN rm -rf /var/lib/apt/lists/*

よくあるハマりポイントとしては、OpenCVの前提パッケージをインストールしていなくて、以下のようなエラーが生じます。

ImportError: libGL.so.1: cannot open shared object file: No such file or directory

そんな時は、エラー内容に示されているように必要パッケージをインストールしましょう。

sudo apt-get install -y libgl1-mesa-dev

コメント

タイトルとURLをコピーしました