前提
Windows11
プログラミング初心者
Dockerでpythonを使ってまして、
JupyterLab起動やWebScrapingはできるようになったのですが、
・pysympleGUIやChromeドライバーを使って、ウインドウを立ち上げてweb操作
が上手くいきません。
windows11からGUI操作可能(WSLg)になったような記述がみられますが、
難しくて頓挫しました。
docker-compose実行時(下記コマンド)で、その時はsuccesfuly表示出ますが、実際はコンテナが起動できない状態になります。
その時のログがエラーメッセージの内容となります。
設定ができてないような感じなのですが、どのようにすればよいかわかる方いましたらご教示願います。
コマンド
docker-compose up --build -d
発生している問題・エラーメッセージ
docker compose logsの内容 time="2023-01-17T17:45:56+09:00" level=warning msg="The \"DISPLAY\" variable is not set. Defaulting to a blank string." time="2023-01-17T17:45:56+09:00" level=warning msg="The \"WAYLAND_DISPLAY\" variable is not set. Defaulting to a blank string." time="2023-01-17T17:45:56+09:00" level=warning msg="The \"XDG_RUNTIME_DIR\" variable is not set. Defaulting to a blank string." time="2023-01-17T17:45:56+09:00" level=warning msg="The \"PULSE_SERVER\" variable is not set. Defaulting to a blank string." py3_1 | qt.qpa.xcb: could not connect to display py3_1 | qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/local/lib/python3.10/site-packages/cv2/qt/plugins" even though it was found. py3_1 | This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. py3_1 | py3_1 | Available platform plugins are: xcb. py3_1 | py3_1 | qt.qpa.xcb: could not connect to display py3_1 | qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/local/lib/python3.10/site-packages/cv2/qt/plugins" even though it was found. py3_1 | This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. py3_1 | py3_1 | Available platform plugins are: xcb. py3_1 |
該当のソースコード
Dokerファイル
1ドッカーコンポーズファイル 2”docker-compose.yml” 3 4version: "3.9" # optional sinece v1.27.0 5services: 6 py3: 7 build: 8 context: ./py3 9 dockerfile: Dockerfile 10 working_dir: /workspace 11 entrypoint: ["python", "app.py"] 12 volumes: 13 # Workspace 14 - ./workspace:/workspace 15 # WSLg 16 - /tmp/.X11-unix:/tmp/.X11-unix 17 - /mnt/wslg:/mnt/wslg 18 environment: 19 # WSLg 20 - DISPLAY=$DISPLAY 21 - WAYLAND_DISPLAY=$WAYLAND_DISPLAY 22 - XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR 23 - PULSE_SERVER=$PULSE_SERVER 24 # GPUを使うための設定 25 - NVIDIA_VISIBLE_DEVICES=all 26 - NVIDIA_DRIVER_CAPABILITIES=all 27 # GPUを使うための設定 28 deploy: 29 resources: 30 reservations: 31 devices: 32 - capabilities: 33 - gpu 34 35 36ここからはドッカーファイル 37”py3/Dockerfile” 38 39# https://hub.docker.com/_/python 40FROM python:3.10.6-buster 41 42# 対話形式での確認無効化(Dockerイメージビルド時に入力待ちで先に進めなくなるため) 43# ENVで設定するとイメージ自体に設定が引き継がれるため、ARGで一時的な設定とする。 44ARG DEBIAN_FRONTEND=noninteractive 45 46# 必要なパッケージの追加とタイムゾーンの設定 47# open-cvを使うためにlibgl1-mesa-devが必要 48RUN apt update && apt install -y \ 49 tzdata \ 50 libgl1-mesa-dev \ 51&& ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \ 52&& apt clean \ 53&& rm -rf /var/lib/apt/lists/* 54 55ENV TZ=Asia/Tokyo 56 57# Pythonパッケージ 58RUN python3 -m pip install --upgrade pip \ 59&& pip install --no-cache-dir \ 60 numpy \ 61 opencv-python 62
試したこと
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー