LoginSignup
0
0

More than 1 year has passed since last update.

Selenium + OpenCV のコンテナ

Posted at

動機

Selenium と OpenCV が同居したコンテナが必要だったが軽量なものが存在しなかったため作ってみました。

ベースは Selenium 側

Selenium 側は ここ に軽量のものがあるのでこちらをベースにします。

OpenCV はビルドする

残念ながら Alpine にはまだ Python のライブラリまでインストールしてくれるような apk パッケージは存在しないのでビルドします。この際に以下の点に留意することによりイメージが小さくなります。

  • 1つのステップでビルドと不要ファイル(ビルドに使用したディレクトリ、及びビルドにしか使わないライブラリ)の削除を行う

ライブラリのインストール → ビルド → ライブラリの削除
を3つのステップに分けた場合に 1.2GB だったイメージも、1つのステップにすると 477MB まで小さくなりました。DockerHub にアップロードして圧縮されたイメージサイズは 180MB と十分実用に耐えるものです。

  • OpenCV のオプションは最小限にする

今回は GPU も不要でシングルスレッドで最低限のライブラリ(cvtColor() とか findContour() とか)が動作してくれれば良いので、テストや TBB など削れるものはとことん削っています。もしかすると用途によっては使いたい機能がないという状態かもしれませんが、それはオプションを自身で ON にしていけば良いでしょう。

結果

Python 3.9.6 + OpenCV 4.5.3 のイメージ
DockerHub: kempei/selenium-opencv
GitHub: selenium-opencv

宜しければご活用下さい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0