概要
Dockerコンテナ上でGUIで画像を表示しようとするとrestart kernelしたので画像表示できるようにした
環境
Windows 11 Pro
Docker Desktop
JupyterLab 4.1.2
Docker上でjupyterlabを使うには以下記事参考
やったこと
VcXsrvをinstall
VcXsrvを起動
設定項目は全てdefault
毎回起動する必要がありそう
dockerfile
に以下を追加
apt-get install -y libgtk-3-dev
または
apt-get install -y libgtk2.0-dev
docker-compose.yaml
に以下を追加
environment:
- DISPLAY=host.docker.internal:0.0
これで再build後jupyterlabに入りcv2.imshow('img', img)をするとVcXsrv上で描画される
他細々
opencv-contrib-python
のinstallだけだと色々言われてimport
できないので、以下をDockerfileに追記するとよい
apt-get install -y libgl1-mesa-glx libglib2.0-0
参考
記事中にDisable access control
にチェックをつける、つけない場合はX0.hosts
で個別設定とあるが特にそれもせずいけた、よく分かってない